簡體   English   中英

如何將具有相同 ID 但兩列中的不同值的行分組為一行,將不同的值作為 Pandas 中的列?

[英]How to group rows with same ID but different values in two columns into a single row the different values as columns in Pandas?

我有一個如下所示的數據集:

df = pd.DataFrame([[1,1,5,4],[1,1,6,3]], columns =['date','site','chemistry','measurement']) df

我正在尋找轉換此數據集,以便化學和測量列中的值成為單獨的列,而其他列中的重復值成為單行,如下所示:

new_df = pd.DataFrame([[1,1,4,3]], columns=['date','site','5','6']) new_df

我已經嘗試了一些基本的東西,比如 df.transpose() pd.pivot() 但這並沒有讓我得到我需要的東西。

pivot 更接近但仍然不是我正在尋找的格式。

我在想象有一種方法可以通過 dataframe 循環到此,但我不知道該怎么做。 有什么建議么?

嘗試這個:

 df.set_index(['date','site','chemistry'])['measurement'].unstack().reset_index()

Output:

chemistry  date  site  5  6
0             1     1  4  3

暫無
暫無

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

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