【问题标题】:Dataframe column data - pandas - python数据框列数据 - 熊猫 - python
【发布时间】:2016-07-27 16:40:37
【问题描述】:

我有一个数据框,我试图在其中查看“#Inc”列以查看是否有数字 4。如果有,我想打印整行。我该怎么做?

我试过这个但失败了(错误是 --> 只允许将类似对象的列表传递给 isin(),你传递了一个 int):

if df.loc[df['#Inc'].isin(4)] is true:
    print 'WIN'

else:
    print 'FAILURE!'

这是输出:

输出:

月平均公司#Inc Avg.Dec #Dec

0 月 0.091454 1 0.000000 0

2 月 1 日 0.008307 1 -0.030809 1

2 三月 0.000000 0 -0.027193 2

4 月 3 日 0.008845 1 -0.035857 1

5 月 4 日 0.000000 0 -0.076321 2

6 月 5 日 0.033715 1 -0.025242 1

7 月 6 日 0.016775 1 -0.028849 1

8 月 7 日 0.079845 1 -0.033116 1

8 SEP 0.000000 0 -0.042201 2

9 OCT 0.044914 1 -0.049798 1

11 月 10 日 0.000000 0 -0.148163 2

11 月 11 日 0.039241 1 -0.024030 1

【问题讨论】:

    标签: python list pandas dataframe


    【解决方案1】:

    认为你想要一些简单的东西,如下所示:

    df = pd.DataFrame({'#Inc': [1,2,3,4,5], 'another_col': ['x','y','z','a','b']})    
    for _, row in df.iterrows():
        if row['#Inc'] == 4:
            print(row)
    

    上面发生的事情是我们使用iterrows 创建的生成器循环遍历数据框中的所有行,然后在行中的特定键等于您要查找的值时打印。

    【讨论】:

    【解决方案2】:

    如果你在 shell(IPython 或普通 Python shell)中工作,你可以简单地应用你想要的过滤器而不分配结果:

    In [27]: df[df[' #Inc'] == 4]
    Out[27]: 
      Month   Avg Inc.   #Inc   Avg.Dec   #Dec
    1   FEB   0.008307      4 -0.030809      1
    3   APR   0.008845      4 -0.035857      1
    

    您可以分配过滤器的结果以供以后使用:

    In [35]: interesting_results = df[df[' #Inc'] == 4]
    

    【讨论】:

      【解决方案3】:

      错误是因为方法 isin() 不接受单个字符串、int、float 值作为输入参数。

      0.18.x、0.19.x 版本的 Pandas 文档提到了 iterable、pandas 数据帧、系列或字典类型的输入参数作为方法 isin() 的输入参数。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.isin.html

      0.17.x 版本的熊猫 方法 isin() 的文档说它将输入值作为列表,即使您有单个字符串然后将该字符串添加到列表中,然后调用 isin() 方法。 http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.Series.isin.html.

      我希望这会有所帮助。 干杯!!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-06-03
        • 2016-10-09
        • 2016-10-14
        • 1970-01-01
        • 1970-01-01
        • 2021-05-14
        • 2017-06-14
        • 2016-01-07
        相关资源
        最近更新 更多