Python 尝试按分组时,位置参数跟随关键字参数错误
以下是我的原始数据集的一个片段: 我编写了一个代码来分割时间,并分别为小时、分钟和秒写了几列。 然后,我用名称Python 尝试按分组时,位置参数跟随关键字参数错误,python,dataframe,pandas-groupby,Python,Dataframe,Pandas Groupby,以下是我的原始数据集的一个片段: 我编写了一个代码来分割时间,并分别为小时、分钟和秒写了几列。 然后,我用名称total\u TRADE\u RATE乘以TRADE\u quantity和TRADE\u RATE为交易总价制作了另一列 现在我想按分钟对数据集进行分组,也就是说,我想要每分钟的值。 为此,我使用groupby函数和以下代码: df=df.groupby(by=['TRADE\u ENTRY\u DATE',['SYMBOL\u code'],as\u index=False)['T
total\u TRADE\u RATE
乘以TRADE\u quantity
和TRADE\u RATE
为交易总价制作了另一列
现在我想按分钟对数据集进行分组,也就是说,我想要每分钟的值。
为此,我使用groupby函数和以下代码:
df=df.groupby(by=['TRADE\u ENTRY\u DATE',['SYMBOL\u code'],as\u index=False)['TOTAL\u TRADE\u RATE'].sum()
但它给出了一个错误:位置参数紧跟关键字参数
,同时指向groupby代码行
代码如下:
import pandas as pd
from datetime import datetime
df = pd.read_csv('MEM096_bahl.csv', parse_dates=["TRADE_ENTRY_DATE"])
x=df['KATS_TIME']
hour=x//100000000
mins=x//1000000-hour*100
sec=(x-(x//1000000)*1000000)//10
df['hour']=hour
df['mins']=mins
df['sec']=sec
df = df.drop(columns=['KATS_TIME'])
TOTAL_RATE=(df['TRADE_QTY'])*(df['TRADE_RATE'])
df['TOTAL_TRADE_RATE'] = TOTAL_RATE
df = df.groupby(by=['TRADE_ENTRY_DATE'], ['SYMBOL_CODE'], ['hour'],['mins'], as_index=False)['TOTAL_TRADE_RATE'].sum()
df.to_excel(r'E:\downloads\Machine Learning\2nd ass.xlsx')
pandas中的“groupby”函数应该接收要分组的列的列表,而不是每个列的单独参数。您可以通过将groupby语句更改为下面给出的语句来解决这个问题
df=df.groupby(by=['TRADE\u ENTRY\u DATE'、'SYMBOL\u code'、'hour'、'mins'],as\u index=False)['TOTAL\u TRADE\u RATE'].sum()
请编辑您的答案,至少解释您更改了什么以及如何解决问题