如何按字符串过滤pandas数据帧

时间:2015-07-06 20:10:59

标签: python pandas dataframe typeerror

我有一个包含多个列的数据框。这是一个例子:

A          B  C  D      MachineCall    F
0  1 2013-01-02  1  3   Machine1  foo
1  1 2013-01-02  1  3  Machine2  foo
2  1 2013-01-02  1  3   Machine3  foo
3  1 2013-01-02  1  3  Machine1  foo

我想创建一个新的数据框,只使用Machine1中的行数据。我不想改变列的顺序。

我试过

df2 = df2[(df2 == 'Machine1')]

得到了错误

TypeError: Could not compare ['Machine1'] with block values:

df2 = df2[(df2'MachineCall'].isin('Machine1')]

得到了

TypeError: only list-like objects are allowed to be passed to Series.isin(), you passed a 'str'

2 个答案:

答案 0 :(得分:4)

以下代码有效。

df[df['MachineCall'].str.contains("Machine1")] 

答案 1 :(得分:1)

new_df = df2[df2['MachineCall'] == 'Machine1']