我进行了搜索,但是找不到(索引,列)来测试是否存在熊猫数据框条目。

例如:

import pandas
df = pandas.DataFrame()

df.ix['apple', 'banana'] = 0.1
df.ix['apple', 'orange'] = 0.1
df.ix['kiwi', 'banana'] = 0.2
df.ix['kiwi', 'orange'] = 0.7

df
       banana  orange
apple     0.1     0.1
kiwi      0.2     0.7


现在我要测试一个条目是否存在

if (["apple", "banana"] in df)


..应该是真实的



if (["apple", "apple"] in df)


..应该是错误的



实际上,我正在测试存在性的原因是因为以下方法不起作用

some loop ..
    df[wp] += some_value
    pass


当df [wp]不存在时,它将失败。如果表达式是

some loop ..
    df[wp] += some_value
    pass


因为熊猫确实有通过赋值扩展数组的想法。

最佳答案

您可以检查索引和列中是否存在:

('kiwi' in df.index) and ('apple' in df.columns)


或者,您可以使用try / except块:

try:
    df.ix['kiwi', 'apple'] += some_value
except KeyError:
    df.ix['kiwi', 'apple'] = some_value


请注意,DataFrame的形状不是动态的。这可能会严重降低您的操作速度。因此,最好用字典来做这些事情,最后将它们变成DataFrames。

关于python - 如何通过(索引,列)检入pandas DataFrame条目是否存在,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39933630/

10-12 16:52
查看更多