Loo*_*ast 6 python grep dataframe pandas
我是熊猫的新来者,对于像这样的数据框:
N Chem Val
A Sodium 9
B Sodium 10
A Chlorid 7
B Chlorid 10
A Sodium 17
Run Code Online (Sandbox Code Playgroud)
我想像grep在bash中一样选择包含'A'在第一列和'Sodium'第三列中的行:
A Sodium 9
A Sodium 17
Run Code Online (Sandbox Code Playgroud)
我应该怎么做?我想我需要使用df[].str.contains()?谢谢
您可以.str.contains()在数据框的列上使用以返回布尔值Series。您还可以对多个系列执行逻辑and和or运算。最后,将逻辑系列作为键传递给数据框将仅返回正确的值。
bool1 = df.N.str.contains('A') # True for rows of N == 'A'
bool2 = df.Chem.str.contains('Sodium') # True for rows of Chem == 'Sodium'
df[bool1 & bool2] # selects rows where N=='A' AND Chem=='Sodium'
returns (without including the index):
N Chem Val
A Sodium 9
A Sodium 17
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3040 次 |
| 最近记录: |