簡體   English   中英

將行添加到 Pandas 數據框中,其中列包含應該是另一行的附加值?

[英]Adding row to pandas dataframe where column contains additional value that should be another row?

簡化的 df,其中一些行包含another flavor附加條目,應該是另一行:

   values more values   flavor another flavor
0       6         foo  caramel      chocolate
1       4         baz  vanilla            NaN

df = pd.DataFrame({"values": [6, 4],"more values": ["foo",  "baz"],"flavor": ["caramel", "vanilla"],"another flavor": ["chocolate",  np.nan],})

我們需要添加含有其他列值的另一行,填充flavor與價值觀another flavor 然后我們會放棄another flavor來獲得desired_df

   values more values     flavor
0       6         foo    caramel
1       6         foo  chocolate
2       4         baz    vanilla

desired_df = pd.DataFrame({"values": [6, 6, 4],"more values": ["foo", "foo", "baz"],"flavor": ["caramel", "chocolate",  "vanilla"],})

有什么實用的方法可以做到這一點? 有沒有我可以作為關鍵字搜索的表達式?

請使用 loc 訪問器對合適的列進行切片,然后追加。 如果需要,您可以對值進行排序。

df.loc[:,:'flavor'].append(df.loc[:, df.columns != 'flavor'].rename(columns={'another flavor':'flavor'}),ignore_index=True).dropna().sort_index().

暫無
暫無

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

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