我一直在嘗試處理這個資料集,其中包括不同日期不同縣的兩種型別的銷售 (0,1) 的數量。但是,有些日期同時包括型別 1 和型別 0 的銷售。如何合并相同日期和相同 ID 的型別 1 和 0 銷售?資料集有超過 40k 行,我不知道從哪里開始。我正在考慮創建一個 if 回圈,但我不知道如何撰寫它。它可以在 python 或 R 中。
本質上,我有一個如下所示的表:
| 日期 | 城市 | 型別 | 數量 |
|---|---|---|---|
| 2020-01-01 | 里約 | 1 | 10 |
| 2020-01-01 | 里約 | 0 | 16 |
| 2020-03-01 | 里約 | 0 | 23 |
| 2020-03-01 | 里約 | 1 | 27 |
| 2020-05-01 | 里約 | 1 | 29 |
| 2020-08-01 | 里約 | 0 | 36 |
| 2020-01-01 | 圣保羅 | 0 | 50 |
| 2020-01-01 | 圣保羅 | 1 | 62 |
| 2020-03-01 | 圣保羅 | 0 | 30 |
| 2020-04-01 | 圣保羅 | 1 | 32 |
| 2020-05-01 | 圣保羅 | 0 | 65 |
| 2020-05-01 | 圣保羅 | 1 | 155 |
例如,我想結合里約在 2020 年 1 月 1 日和 2020 年 3 月 1 日的型別 1 和 0 的數量,以及圣保羅和所有后續縣的相同數量。我想聚合型別 1 和 0 的數量,但仍保留日期和城市列。
uj5u.com熱心網友回復:
您可以使用 pandasgroupby和agg函式來執行此操作。這是一些示例代碼:
import pandas as pd
df = pd.DataFrame({'date': ['3/10/2000', '3/11/2000', '3/12/2000', '3/10/2000'],
'id':[0,1,0,0], 'sale_type':[0,0,0,1], 'amount': [2, 3, 4, 2]})
df['date'] = pd.to_datetime(df['date'])
df.groupby(['date', 'id']).agg({'amount':sum})
>>> amount
date id
2000-03-10 0 4
2000-03-11 1 3
2000-03-12 0 4
uj5u.com熱心網友回復:
我的代碼版本:
# -*- coding: utf-8 -*-
import pandas as pd
# generating a sample dataframe
df = pd.DataFrame([['10-01-2020', 311100, 'ABADIA', 'MG', 'MINAS', 'IVERMECTIONA', 0, 68],
['10-01-2020', 311100, 'ABADIA', 'MG', 'MINAS', 'IVERMECTIONA', 1, 120]],
columns=['date', 'code1', 'code2', 'code3', 'code4', 'code5', 'type_of_sales', 'count_sales'])
# printing content of dataframe
print(df)
# using group by operation over columns we want to see in resultset and aggregating additive columns
df = df.groupby(['date', 'code1', 'code2', 'code3', 'code4', 'code5']).agg({'count_sales': ['sum']})
# aligning levels of column headers
df = df.droplevel(axis=1, level=0).reset_index()
# renaming column name to previous after aggregating
df = df.rename(columns={'sum':'count_sales'})
print(df)
uj5u.com熱心網友回復:
嘗試這樣的事情:
import pandas as pd
df = pd.read_csv('your_file_name.csv')
df.pivot_table(values='Sales', index=['Date', 'City'], aggfunc='sum')
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/468934.html
上一篇:使用dplyr動態創建列
