说我有这个DataFrame:
C1 C2 C3
0 1 4.4 99
1 2 4.5 200
2 3 NaN 65
3 4 3.2 140
我只想提取列(系列)C2和该系列的非空元素。
我可以分两个步骤进行操作:
d = df.loc[df['C2'].notnull()]
s=d['C2']
将是
0 4.4
1 4.5
3 3.2
我可以一步一步吗?
答案 0 :(得分:0)
您正在谈论dropna
df.C2.dropna()
Out[486]:
0 4.4
1 4.5
3 3.2
Name: C2, dtype: float64
答案 1 :(得分:0)
如果要过滤数据框,请考虑将query
与.notna
一起使用:
df.query('C2.notna()')
输出
C1 C2 C3
0 1 4.4 99
1 2 4.5 200
3 4 3.2 140
答案 2 :(得分:0)
您也可以将两个步骤组合为一个步骤,并放下位置
df[df['C2'].notnull()]['C2']