alp*_*ric 4 python dataframe pandas
创建三行DataFrame后:
import pandas as pd
df = pd.DataFrame({'a': ['1-2', '3-4', '5-6']})
Run Code Online (Sandbox Code Playgroud)
我检查是否有任何单元格等于'3-4':
df['a']=='3-4'
Run Code Online (Sandbox Code Playgroud)
由于df['a']=='3-4'命令结果pandas.core.series.Series对象我可以用它来创建原始DataFrame的"过滤"版本,如下所示:
filtered = df[ df['a']=='3-4' ]
Run Code Online (Sandbox Code Playgroud)
在Python中,我可以使用以下命令检查另一个字符串中字符串字符的出现:
string_value = '3-4'
print('-' in string_value)
Run Code Online (Sandbox Code Playgroud)
在使用DataFrames时,如何实现同样的目标?
所以,我可以通过检查每行的单元格中是否有" - "字符来创建原始DataFrame的过滤版本,例如:
filtered = df['-' in df['a']]
Run Code Online (Sandbox Code Playgroud)
但是上面的这个语法无效并抛出KeyError: False错误消息.
jua*_*aga 10
使用str和contains:
In [5]: df['a'].str.contains('-')
Out[5]:
0 True
1 True
2 True
Name: a, dtype: bool
Run Code Online (Sandbox Code Playgroud)