如何在 Pandas Dataframe 中查找特定值

She*_*ly 4 python dataframe pandas

我已经将 csv 格式的数据导入到了熊猫中。谁能告诉我如何在我拥有的一列中找到 280 以上的值并将它们放入另一个数据框中。到目前为止,我已经完成了以下代码:

import numpy as np
import pandas as pd
df = pd.read_csv('...csv')
Run Code Online (Sandbox Code Playgroud)

部分数据如附图所示:在此处输入图片描述

jez*_*ael 5

你需要boolean indexing

df1 = df[df[2] > 280]
Run Code Online (Sandbox Code Playgroud)

如果需要选择也只列添加loc

s = df.loc[df[2] > 280, 2]
Run Code Online (Sandbox Code Playgroud)

样本:

df = pd.DataFrame({0:[1,2,3],
                   1:[4,5,6],
                   2:[107,800,300],
                   3:[1,3,5]})

print (df)
   0  1    2  3
0  1  4  107  1
1  2  5  800  3
2  3  6  300  5

df1 = df[df[2] > 280]
print (df1)
   0  1    2  3
1  2  5  800  3
2  3  6  300  5

s = df.loc[df[2] > 280, 2]
print (s)
1    800
2    300
Name: 2, dtype: int64

#one column df
df2 = df.loc[df[2] > 280, [2]]
print (df2)
     2
1  800
2  300
Run Code Online (Sandbox Code Playgroud)

  • 您还可以使用列名。例如,`df[df.columnName > 280]` (2认同)