我是蟒蛇和熊猫的新手,虽然我对vba非常熟练。
我使用python spyder2(python 3.5)通过read_excel()将excel文件导入Pandas数据帧。这一切似乎都很好。导入后,我使用sort_values对数据列进行排序。
df.sort_values(['Part ID'],ascending = True, inplace = True)
part id列包含可以是字符串(95%)的部件号和可以看起来像整数123456789或浮子1234.65的其他部件号。
错误消息是TypeError:unorderable类型:int()> STR()。
我假设这与part id系列中的混合数据类型有关。
我已经尝试在调用之前应用.to_string和.astype(str)进行排序但无济于事。
任何有助于我理解的帮助和解释都将不胜感激。
完整代码:
import pandas as pd
import calendar
df = pd.read_excel('Invoice Log (04-Jul-2015) Full Data Set1.xlsx', 0,header=0)
df['Invoice Date'] = pd.to_datetime(df['Invoice Date'])
df['Invoice Date'] = pd.to_datetime(df['Invoice Date'])
df['Month']= pd.DatetimeIndex(df['Invoice Date']).month
df['Year']= pd.DatetimeIndex(df['Invoice Date']).year
df.dropna(subset=['Part ID'],inplace=True)
df[['Part ID','Order Qty','Extended Price','Month','Year']]
df.sort_values(['Part ID'],ascending=True,inplace=True)