Ric*_*oke 3 python dataframe pandas
我的数据框有一个名为“老师”的列,我想知道该列中的空行。例子:
print(df["Teacher"])
0
1
2 Richard
3
4 Richard
Name: Teacher, Length: 5, dtype: object
Run Code Online (Sandbox Code Playgroud)
我知道如果我做这样的事情:
R = ['R']
cond = df['Teacher'].str.startswith(tuple(R))
print(cond)
Run Code Online (Sandbox Code Playgroud)
它打印该列的行并以布尔值形式告诉我以 R 开头的老师。
print(cond)
0 False
1 False
2 True
3 False
4 True
Name: Teacher, Length: 5, dtype: object
Run Code Online (Sandbox Code Playgroud)
我希望空的也一样,当它为空时返回 True,当它不是时返回 false,但不知道如何。
如果为空则缺少值或None使用Series.isna:
cond = df['Teacher'].isna()
Run Code Online (Sandbox Code Playgroud)
如果空是零个或多个空格,请使用Series.str.contains:
cond = df['Teacher'].str.contains(r'^\s*$', na=False)
Run Code Online (Sandbox Code Playgroud)
如果empty是空字符串,则通过它进行比较:
cond = df['Teacher'] == ''
Run Code Online (Sandbox Code Playgroud)
df = pd.DataFrame({'Teacher':['',' ', None, np.nan, 'Richard']})
cond1 = df['Teacher'].isna()
cond2 = df['Teacher'].str.contains(r'^\s*$', na=False)
cond3 = df['Teacher'] == ''
df = df.assign(cond1= cond1, cond2= cond2, cond3= cond3)
print (df)
Teacher cond1 cond2 cond3
0 False True True
1 False True False
2 None True False False
3 NaN True False False
4 Richard False False False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12896 次 |
| 最近记录: |