![](/img/trans.png)
[英]Pandas dataframe create new columns with values based on above row
[英]Create columns based on sequent row values in Pandas
我有一個包含約30萬行的數據框,其結構如下:
name Jack
gender M
year 1993
country USA
city Odessa
name John
gender M
year 1992
name Sam
country Canada
city Toronto
是否有可能使用Pandas使數據框看起來像這樣?
name gender year country city
Jack M 1993 USA Odessa
John M 1992
Sam Canada Toronto
“ name”行始終存在,但其他行可能不存在。 我嘗試使用Iterrows沒有成功。
In [17]:
g = np.cumsum(df.iloc[: , 0] == 'name')
In [15]:
df.groupby(g).apply(lambda x : pd.DataFrame(x.set_index([0]).T , columns=['name' , 'gender' , 'year' , 'country' , 'city']) )
Out[15]:
name gender year country city
0
1 1 Jack M 1993 USA Odessa
2 1 John M 1992 NaN NaN
3 1 Sam NaN NaN Canada Toronto
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.