熊猫-在整个日期范围内查找特定值

时间:2018-12-03 04:04:07

标签: python pandas

我有一个数据框,我想在所有列中搜索文本“ Apple”的值。我知道如何使用一个列,但是如何将其应用于所有列?我想使其成为一个函数,以便下次可以直接使用它来搜索其他日期框架中的其他值。

谢谢。

4 个答案:

答案 0 :(得分:0)

采用单一方法所具有的功能,并将其包含在for循环中。

for column in df:
    #your code here

答案 1 :(得分:0)

类似这样的东西:

In [1188]: df
Out[1188]: 
   id   name      n1
0   1   Zeke     may
1   2  Apple    maya
2   3      a   Apple
3   4   Maya       a
4   5  Derek  Mayank
5   6     an      is
6   7    the     the

只需检查一下即可:

In [1190]: df[df == 'Apple']
Out[1190]: 
   id   name     n1
0 NaN    NaN    NaN
1 NaN  Apple    NaN
2 NaN    NaN  Apple
3 NaN    NaN    NaN
4 NaN    NaN    NaN
5 NaN    NaN    NaN
6 NaN    NaN    NaN

OR

In [1191]: df.where(df == 'Apple')
Out[1191]: 
   id   name     n1
0 NaN    NaN    NaN
1 NaN  Apple    NaN
2 NaN    NaN  Apple
3 NaN    NaN    NaN
4 NaN    NaN    NaN
5 NaN    NaN    NaN
6 NaN    NaN    NaN

这使您可以搜索数据框的所有列。

答案 2 :(得分:0)

导入熊猫库

import pandas as pd

原始数据或文件的网址

raw_data = {'first_name': ['Mihir', 'Mihir', 'Raju', 'Johan', 'Johan'],
               'last_name': ['Patel', 'Patel', 'Ali', 'Khan', 'Khan'], 
               'age': [42, 42, 36, 24, 53]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age'])

发现价值

df.loc[df['first_name']=='Mihir']

答案 3 :(得分:0)

您可以尝试使用以下代码搜索整个数据框

df[df.eq("Apple").any(1)]

使用numpy比较

df[(df.values.ravel() == "Apple").reshape(df.shape).any(1)]

两者都是较小的记录,但不确定大型数据集。