关于去除csv文件中数据值的逗号问题
最近在学习过程中碰到了第二个问题,在使用pandas包运行行中的值满足某种条件代码时,运行出现错误。具体如下:
import sys
import pandas as pd
input_file = sys.argv[1]
output_file = sys.argv[2]
data_frame = pd.read_csv(input_file)
data_frame['Cost'] = data_frame['Cost'].str.strip('$').astype(float)
data_frame_value_meets_condition =data_frame.loc[(data_frame['Supplier Name'].str.contains('Z'))|(data_frame['Cost']>600.0), :]
data_frame_value_meets_condition.to_csv(output_file, index=False)
运行结果如下:
这是由于csv表格中‘6,015.00’这个数值包含‘,’,所以不能直接转换为float 类型。所以我们应该对源代码进行改写,去点数据值中包含的‘,’,具体改写如下:
将原来的这行代码
data_frame['Cost'] = data_frame['Cost'].str.strip('$').astype(float)
改为:
data_frame['Cost'] = data_frame['Cost'].str.strip('$').replace(',', '').astype(float)
再运行该代码。