最近,我在处理包含datetime64格式列的数据帧时遇到了一个问题。我尝试使用GroupBy操作对数据进行分组,但遇到了一个错误:
pythonCopy codedfsum = df.groupby(['City']).sum()
TypeError: datetime64类型不支持求和操作
这个错误告诉我,datetime64类型的列不支持求和操作,这让我感到困惑。我是Python的新手,不太清楚如何解决这个问题。不过,我找到了一个解决方法,我将在下面与大家分享。
首先,让我们看一下我处理的数据帧的示例:
mathematicaCopy codeOrder ID Product Quantity Ordered Price Each Order Date City
141234 iPhone 1 700 2019-01-22 21:25:00 Boston (MA)
141235 Lightning Charging Cable 1 14.95 2019-01-28 14:15:00 Portland (OR)
141236 Wired Headphones 2 11.99 2019-01-17 13:33:00 San Francisco (CA)
141237 27in FHD Monitor 1 149.99 2019-01-05 20:33:00 Los Angeles (CA)
141238 Wired Headphones 1 11.99 2019-01-25 11:59:00 Austin (TX)
我想要对这些数据按城市进行分组,并对"Quantity Ordered"、"Price Each"和"Total Price"这三列进行求和。但是,由于"Order Date"列是datetime64类型的,我遇到了TypeError错误。
解决这个问题的一种方法是明确指定要进行求和的列,如下所示:
pythonCopy codedf.groupby(['City'])[['Quantity Ordered', 'Price Each', 'Total Price']].sum()
这样,我们就可以正确地对数据进行分组和求和,而不会受到datetime64类型列的限制。
标签:
Python