我附上了我的Excel工作表的屏幕截图。我想将每个字符串的长度存储在SUPPLIER_id Length
列中。但是,当我运行代码时,CSV列为空白。
当我在不同的CSV中使用相同的代码时,效果很好。
我正在使用以下代码,但无法打印数据。
我附上了csv的代码段。有人可以告诉我为什么会这样吗:
import pandas as pd
data = pd.read_csv(r'C:/Users/patesari/Desktop/python work/nba.csv')
df = pd.DataFrame(data, columns= ['SUPPLIER_ID','ACTION'])
data.dropna(inplace = True)
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)
data['SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)
data
print(df)
data.to_csv("C:/Users/patesari/Desktop/python work/nba.csv")
答案 0 :(得分:1)
我过去也遇到过类似的问题。
代替:
df = pd.DataFrame(data, columns= ['SUPPLIER_ID','ACTION'])
输入此内容:
data.columns=['SUPPLIER_ID','ACTION']
此外,我不明白您为什么创建DataFrame df。我认为这是不必要的。
答案 1 :(得分:0)
您不是从熊猫那里得到了SettingWithCopyWarning吗?我会想象(没有运行这段代码)这些行
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)
data['SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()
data['SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)
不会做任何事情,应该替换为
data.loc[:, 'SUPPLIER_ID']= data['SUPPLIER_ID'].astype(str)
data.loc[:, 'SUPPLIER_ID LENGTH']= data['SUPPLIER_ID'].str.len()
data.loc[:, 'SUPPLIER_ID']= data['SUPPLIER_ID'].astype(float)