【问题标题】:How to identify integers in a pandas dataframe containing both floats and integers如何识别包含浮点数和整数的熊猫数据框中的整数
【发布时间】:2020-11-05 12:16:38
【问题描述】:

我正在编写一些代码来从衍射峰中识别可能的晶格参数。为了选择正确的参数,我希望确定哪些整数组合是完全偶数或奇数。为此,我使用了以下功能 guess_table.insert(5,'FCC_condition',(guess_table[0]%2+guess_table[1]%2+guess_table[2]%2)/3) 它给出了输出:

在这里,我希望我的 FCC_condition 列使用 guess_table2=guess_table.drop(guess_table[(guess_table['FCC_condition']<1)|(guess_table['FCC_condition']!=0)].index).sort_values('Sums_sqd',ascending=1).reset_index() 删除任何不是 0 或 1 的值。 但是,问题是我需要将我的 FCC_condition 值指定为整数或浮点数,这意味着我不能以这种方式选择整数的完全偶数或奇数组合。因此,有没有一种方法可以让我几乎可以在函数内动态分配类型来避免这个问题?

【问题讨论】:

    标签: python pandas dataframe type-conversion


    【解决方案1】:

    将整列保持为浮点数。您可以通过测试(x + eps) % 1 < 2*eps 的一些小值eps 来测试值x 是否(足够接近)为整数。例如

    >>> a = np.array([0, 1, .6667, .3333, 1, .999])
    >>> eps = 1e-6
    >>> (a + eps) % 1 < 2*eps
    array([ True,  True, False, False,  True, False])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-07
      • 2021-01-30
      • 2021-08-17
      • 2018-01-02
      • 2019-12-07
      • 1970-01-01
      • 1970-01-01
      • 2019-10-04
      相关资源
      最近更新 更多