我继续获得RuntimeWarning:unorderable类型:str()< int(),对于无法比较的对象,未定义排序顺序 结果= result.union(其他)来自以下代码。不完全确定我在哪里做错了什么。我试图让数据集看起来像this.
df = pd.read_excel('/Users/user/Desktop/------/data.xlsx')
df.rename(columns={'Product Installed Fiscal Quarter': 'Quarter', 'Serviceable Product #': 'Product Code', 'Sold To Customer Name': 'Account', 'Orderable Product Description': 'Product'}, inplace=True)
df.drop(['# of Licenses'], axis=1, inplace=True)
def all_products():
products = []
for index, row in df.iterrows():
if row['Serviceable Product Description'] not in products:
products.append(row['Serviceable Product Description'])
products.insert(0, 'Account')
products.insert(1, 'Time')
return products
header = all_products()
xd = pd.DataFrame(columns= header)
def reformatted_data():
for index, row in df.iterrows():
add = [0] * len(header)
add.insert(0, row['Account'])
add.insert(1, row['Quarter'])
index = header.index(row['Serviceable Product Description'])
add[index] = row['Quantity']
xd.append(add)
return xd
reformatted_data()
答案 0 :(得分:0)
从Excel读取时,请务必注意您的数据类型。大部分时间里,Pandas都会做出很好的猜测,但是建议显式转换要广泛使用的列。例如,excel中的列可以具有字符串和数字而不必担心,但是Pandas要求列必须是统一类型。结果,Pandas会将该列强制转换为无提示字符串。提防。