我有一个dataFrame有几个coulmns,所以我选择了一些coulmns来创建一个这样的变量xtrain = df[['Age','Fare', 'Group_Size','deck', 'Pclass', 'Title' ]]
我想从这些coulmns中删除所有原始数据,主数据框架中的Survive coulmn是nan.
EdC*_*ica 14
您可以根据notnull()
"Survive"列将布尔掩码传递给df 并选择感兴趣的cols:
In [2]:
# make some data
df = pd.DataFrame(np.random.randn(5,7), columns= ['Survive', 'Age','Fare', 'Group_Size','deck', 'Pclass', 'Title' ])
df['Survive'].iloc[2] = np.NaN
df
Out[2]:
Survive Age Fare Group_Size deck Pclass Title
0 1.174206 -0.056846 0.454437 0.496695 1.401509 -2.078731 -1.024832
1 0.036843 1.060134 0.770625 -0.114912 0.118991 -0.317909 0.061022
2 NaN -0.132394 -0.236904 -0.324087 0.570660 0.758084 -0.176421
3 -2.145934 -0.020003 -0.777785 0.835467 1.498284 -1.371325 0.661991
4 -0.197144 -0.089806 -0.706548 1.621260 1.754292 0.725897 0.860482
Run Code Online (Sandbox Code Playgroud)
现在传递一个掩码,loc
只取非NaN
行:
In [3]:
xtrain = df.loc[df['Survive'].notnull(), ['Age','Fare', 'Group_Size','deck', 'Pclass', 'Title' ]]
xtrain
Out[3]:
Age Fare Group_Size deck Pclass Title
0 -0.056846 0.454437 0.496695 1.401509 -2.078731 -1.024832
1 1.060134 0.770625 -0.114912 0.118991 -0.317909 0.061022
3 -0.020003 -0.777785 0.835467 1.498284 -1.371325 0.661991
4 -0.089806 -0.706548 1.621260 1.754292 0.725897 0.860482
Run Code Online (Sandbox Code Playgroud)
两种选择,因为......为什么不呢?
两者都nan
在列切片之前下降。这是两次通话而不是 EdChum 的一次通话。
一
df.dropna(subset=['Survive'])[
['Age','Fare', 'Group_Size','deck', 'Pclass', 'Title' ]]
Run Code Online (Sandbox Code Playgroud)
二
df.query('Survive == Survive')[
['Age','Fare', 'Group_Size','deck', 'Pclass', 'Title' ]]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24716 次 |
最近记录: |