首页 > 解决方案 > Python pandas TypeError:使用groupby()时,'int'和'datetime.datetime'的实例之间不支持'<'

问题描述

我有几列包含字符串信息。我创建了一个这样的数据框:

columns = ['UPC CODE', 'ISRC Code', 'PRODUCT TITLE', 'WORK TITLE', 'STARTING DATE', 'ENDING DATE', 
'INTERPRETER NAME', 'LABEL', 'SELLING TERRITORY', 'COMMERCIAL OFFER NAME', 'DISTRIBUTION CHANNEL TYPE', 
'COMPOSER NAME']

newdata = {'UPC CODE': upccode, 'ISRC Code': isrc, 'PRODUCT TITLE': producttitle, 'WORK TITLE': worktitle,
           'STARTING DATE': startingdate, 
           'ENDING DATE': endingdate, 'INTERPRETER NAME': interpretername, 'LABEL': label, 
           'SELLING TERRITORY': sellingterritory, 'COMMERCIAL OFFER NAME': commercialoffername, 
           'DISTRIBUTION CHANNEL TYPE': distributionchanneltype, 'COMPOSER NAME': composername}

new_df = pd.DataFrame(newdata, columns = columns)

现在,如果我想计算此数据框中的重复项并使用重复项创建一个新列,我可以这样做:

df_quantity = new_df.groupby(columns).size().reset_index(name = 'QUANTITY')

但我得到错误:TypeError:'int'和'datetime.datetime'的实例之间不支持'<'。奇怪的是:如果我没有将“工作标题”列放在我的数据框中,那么 groupby() 可以正常工作,没有任何错误,我会得到我想要的结果。所以“工作标题”列有问题。我看不出有什么问题:worktitle 只是一个字符串列表。

标签: pythonpandasdataframe

解决方案


推荐阅读