簡體   English   中英

如何通過在 Python DataFrame 中保持某些列值不變來將數據從一行合並到另一行

[英]How do I merge data from one row to another by keeping some column values unchanged in Python DataFrame

DataFrame 中的行數很少,分別是“產品”、“類別”、“尺寸”、“評級”、“評論”和“價格”列。

DataFrame 看起來像這樣:

  Product    Category       Size      Rating      Reviews       Price
1  'A'       Kids_1         small       4           10           100
2  'B'       Adults         Medium      3           15           200
3  'C'       Kids_1         Medium      3           15           125
4  'A'       Kids_1         small       4           25           100
5  'D'       Adults         Large       2           10           250
6  'A'       Kids_1         Medium      4           10           100

我想通過合並行中的值來合並“類別”列中的常見值並在“評論”列中取最高值。 在“尺碼”列“Kids_1”類別中,有中小尺碼,根據產品“A”,實際上應該是小尺碼。

我嘗試使用 groupby function,但無法獲得 output DataFrame 所需的 ZBA834ZB159A9A38729 相反,我得到了 output 如下,

                               Rating      Reviews       Price 
  Product  Category    Size
1  'A'      Kids_1     small     4           25           100
2                      Medium    4           10           100
3  'B'      Adults     Medium    3           15           200
4  'C'      Kids_1     Medium    3           15           125
5  'D'      Adults     Large     2           10           250

生成的 DataFrame 應如下所示:

  Product    Category      size      Rating      Reviews       Price
1  'A'       Kids_1       small       4           25           100
2  'B'       Adults       Medium      3           15           200
3  'C'       Kids_1       Medium      3           15           125
4  'D'       Adults       Large       2           10           250

您可以使用Reviews訂購 dataframe,按產品和類別分組,並使用head(1)訂購 select 在每組的第一行。

df.sort_values('Reviews', ascending=False).groupby(['Product','Category']).head(1).reset_index(drop=True)
  Product Category    Size  Rating  Reviews  Price
0     'A'   Kids_1   small       4       25    100
1     'B'   Adults  Medium       3       15    200
2     'C'   Kids_1  Medium       3       15    125
3     'D'   Adults   Large       2       10    250

暫無
暫無

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

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