簡體   English   中英

如何使用 python 將 dataframe 中的行名稱更改為列名稱?

[英]How to change rows name to column name in dataframe using python?

我有兩個 dataframe:

  df1:
     colname   value
     gender     M
     status     business
     age        60

  df2:
     colname   value
     name       Susan
     Place      Africa
     gender     F

有沒有辦法以預期的 output 的方式連接這兩個 dataframe? 我試過 outer join 但它不起作用,提前謝謝你。

注意:沒有數據框總是具有相同的公共屬性,而且我正在嘗試刪除 colname 和 value 列。

預計 output:

    gender status     age  name  Place 
0    M     business   60   0      0
1    F     0           0   Susan Africa

您可以使用 colname 作為索引和concat轉換為系列:

dfs = [df1, df2]

out = pd.concat([d.set_index('colname')['value'] for d in dfs],
                axis=1, ignore_index=True).T

output:

colname gender    status  age   name   Place
0            M  business   60    NaN     NaN
1            F       NaN  NaN  Susan  Africa

嘗試這個:

pd.concat([df1, df2], axis=0).fillna(0).reset_index(drop=True)

    gender    status   age   name   place
0      M    business   60      0       0
1      F           0    0  Susan  Africa

fillna將用 0 替換NaN值。

下面一行將解決你的問題,你可以使用 pandas 轉置 function 來解決這個問題。

df_new = pd.concat([df1,df2])
df_new.set_index("colname").T

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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