如何转换csv文件中的单位值



我有一个csv表,如下所示。我想转换所有的值从列[1]开始,从结点的当前值到m/s使用公式:value/0.514444。然后,我想将该文件保存为新的csv文件。我试图列出for循环如下,但我得到错误。我是python的新手,不确定我做错了什么。有没有一种方法来改变值,就像写在我的草案,而不读取csv作为一个数组?任何评论将不胜感激。很多谢谢!

表是这样的:

number,  column1,   column2                                                 
1,       33.1730,   30.7346                                               
2,       33.1730,   30.5905                                                
3,       32.8460,   30.5905

我的脚本给出错误:

import pandas as pd

eventtable = pd.read_csv(r'C:Temptesttest_combined.csv')
for col in range(1,len(eventtable.columns)):
for row in range(1,len(eventtable)):
eventtable[row,col]/0.514444
eventtable.to_csv(r'C:Temptesttest_combined_convert.csv')

您可以使用applymap将函数应用于整个数据框架。请在读取csv时将number设置为索引列,以避免函数也应用于该列:

import pandas as pd
import io
data = '''number,  column1,   column2                                                 
1,       33.1730,   30.7346                                               
2,       33.1730,   30.5905                                                
3,       32.8460,   30.5905'''
df = pd.read_csv(io.StringIO(data), sep=',s+', index_col='number', engine='python')
df = df.applymap(lambda x: x/0.514444)
df.to_csv('filename.csv')

结果:

column264.483259.7433363.847659.4632