簡體   English   中英

逐行加入兩個 pandas dataframe 列

[英]Join two pandas dataframe columns row-wise

假設我有一個 pandas dataframe df ,其中 df 是:

    vaccine       age           height
0   pfizer       48.0            181.0
1   moderna      81.0            175.0
2   moderna      27.0            190.4
3   moderna      64.0            178.5

我正在嘗試將兩列(年齡,身高)按行連接成一列,其中年齡和身高按各自的疫苗分組。

基本上,我試圖得到:

   vaccine        new_col     
0   pfizer         48.0
1   pfizer         181.0
2   moderna        81.0         
3   moderna        175.0
4   moderna         27.0             
5   moderna        190.4
6   moderna         64.0
7   moderna        178.5

我沒有成功嘗試使用 pd.concat、df.merge 等。我不熟悉任何這樣做的 pandas function。 我也嘗試使用 apply function 但我沒有成功。

首先將索引設置為vaccine然后stack dataframe,並將索引級別降至1,最后重置索引。

df.set_index('vaccine').stack().droplevel(1).to_frame('new_col').reset_index()

   vaccine  new_col
0   pfizer     48.0
1   pfizer    181.0
2  moderna     81.0
3  moderna    175.0
4  moderna     27.0
5  moderna    190.4
6  moderna     64.0
7  moderna    178.5

暫無
暫無

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

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