簡體   English   中英

根據熊貓中的后續行值創建列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM