【发布时间】:2023-01-04 20:05:16
【问题描述】:
我有一个看起来像这样的 Csv 文件
| Time | Count | Operation |
|---|---|---|
| 10:01:00 | 2 | Up |
| 10:01:00 | 5 | Down |
| 10:01:00 | 1 | Down |
| 10:01:00 | 2 | Up |
| 10:01:00 | 1 | Up |
| 10:02:00 | 3 | Down |
| 10:02:00 | 2 | Up |
| 10:02:00 | 5 | Down |
我想通过操作列的 id 将每分钟的计数列的值相加,然后在同一分钟内减去彼此的上下总和,这应该给我这样的东西
Sum():
| Time | Count | Operation |
|---|---|---|
| 10:01:00 | 5 | Up |
| 10:01:00 | 6 | Down |
| 10:02:00 | 2 | Up |
| 10:02:00 | 8 | Down |
Diff():
| Time | Delta |
|---|---|
| 10:01:00 | 1 |
| 10:02:00 | 6 |
为此,我尝试类似
def Delta_Volume():
df = pd.read_csv(Ex_Csv, usecols=['Time','Count','Operation'], parse_dates=[0])
df['Time'] = df['Time'].dt.floor("T", 0).dt.time
df1 = df.groupby('Operation').sum('Count')
df2 = df.groupby('Operation').diff('Count')
#df['Delt_of_row'] = df.loc[1 : 3,['Count' , 'Operation']].sum(axis = 1)
#df['Delt_of_row'] = df.loc[1 : 3,['Count' , 'Operation']].diff(axis = 1)
print(df1)
但不幸的是,它并没有按照我需要的方式工作
【问题讨论】:
-
热烈欢迎来到 SO。请阅读stackoverflow.com/help/minimal-reproducible-example 并更新您的问题。