如何修复值错误"Length of Values (1) doesn match length of index (15)"



Workflow =>

  • 读取CSV文件并获取单价列数据
  • 转换列数据价格并创建名为'Fabric'的新列
  • 将输出保存为xlsx
  • 示例:

Unit Price
----------
330
350
380
I want to convert this data 
Fabric
------
Card
Combed
Viscos

我代码:

##Fabric Data 
getFabric = df_new['Unit Price']
result = []
for fabric in getFabric:
if fabric == 310:
result.append("Card")        
elif fabric == 330:
result.append("Combed Dawah")
elif fabric == 350:
result.append("Combed Regular")
elif fabric == 490:
result.append("Viscos")
elif fabric == 550:
result.append("Pleated")
else:
result.append(fabric)
df_new['Fabric'] = result

错误:

这很简单,老兄…

your_df["Fabric"] = your_df["Unit Price"].apply(lambda x: str(x).replace("330", "Card"))
# do this for every conversion
your_df.to_csv("filename.csv")

以上代码可以保存为CSV文件,可以在MS EXCEL中查看

而不是迭代列值。试试这个,

pandas内置函数称为.replace(),用于替换列中的值而无需迭代

df_new['Unit Price'].replace({310: 'Card', 330: 'Combed Dawah', 350: 'Combed Regular', 490: 'Viscos', 550: 'Pleated'}, inplace=True)
以上代码将成功地将dataframe列值替换为.

相关内容

  • 没有找到相关文章

最新更新