gpt4 book ai didi

Pandas - 更改数据框的对齐方式

转载 作者:行者123 更新时间:2023-12-02 06:13:20 25 4
gpt4 key购买 nike

我创建了一个数据框:

In [1]: import pandas as pd 

In [2]: import numpy as np

In [3]: df = pd.DataFrame({ 'Student_ID':['001','002','003','004','005'],
'Amy' : ['Amy',np.nan,np.nan,np.nan,'Amy'],
'Brian' : [np.nan,'Brian',np.nan,np.nan,np.nan],
'Cat' : [np.nan,np.nan,np.nan,'Cat',np.nan]},columns=['Student_ID','Amy','Brian','Cat'])


In [4]:df
Out [4]:
Student_ID Amy Brian Cat
0 001 Amy NaN NaN
1 002 NaN Brian NaN
2 003 NaN NaN NaN
3 004 NaN NaN Cat
4 005 Amy NaN NaN

接下来我想返回一个只有两列的数据框,Student_ID 和 Name。如何转换为以下精确代码?

In [5]: df
Out[5]:
Student_ID Name
0 001 Amy
1 002 Brian
2 003 NaN
3 004 Cat
4 005 Amy

最佳答案

你可以使用

df.iloc[:,1:].notna().dot(df.columns[1:])
Out[78]:
0 Amy
1 Brian
2
3 Cat
4 Amy
dtype: object
#df['name']=df.iloc[:,1:].notna().dot(df.columns[1:])

或者bfill

df.iloc[:,1:].bfill(1).iloc[:,0]
Out[82]:
0 Amy
1 Brian
2 NaN
3 Cat
4 Amy

关于Pandas - 更改数据框的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52724740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com