gpt4 book ai didi

python - 读取 csv 文件时结合参数和值

转载 作者:行者123 更新时间:2023-12-01 09:06:34 25 4
gpt4 key购买 nike

如果我有这样的文档,列名在第 1 行和第 2 行中重复,参数的单位在第 3 行中,我如何调用 pd.read_csv 以便它创建一个数据框,其标题具有列名称和单位以及值?

Time    Speed   Torque
time speed torque
seconds m/s Nm
1 4000 229,5
2 4000 228,7
3 4000 230,1

最佳答案

如果想要在列中使用MultiIndex,请使用参数header=[0,1]来转换第一行和第二行而不跳过行:

import pandas as pd

temp=u"""Time Speed Torque
time speed torque
seconds m/s Nm
1 4000 229,5
2 4000 228,7
3 4000 230,1"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep="\s+", header=[0,1], skiprows=[0])
print (df)
time speed torque
seconds m/s Nm
0 1 4000 229,5
1 2 4000 228,7
2 3 4000 230,1

print (df.columns)
MultiIndex(levels=[['speed', 'time', 'torque'], ['Nm', 'm/s', 'seconds']],
labels=[[1, 0, 2], [2, 1, 0]])
<小时/>
import pandas as pd

temp=u"""Time Speed Torque
time speed torque
seconds m/s Nm
1 4000 229,5
2 4000 228,7
3 4000 230,1"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep="\s+", header=[0,1], skiprows=[1])
print (df)
Time Speed Torque
seconds m/s Nm
0 1 4000 229,5
1 2 4000 228,7
2 3 4000 230,1

如果想省略第二行和第三行,仅使用 skiprows 参数:

import pandas as pd

temp=u"""Time Speed Torque
time speed torque
seconds m/s Nm
1 4000 229,5
2 4000 228,7
3 4000 230,1"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep="\s+", skiprows=[1, 2])
print (df)
Time Speed Torque
0 1 4000 229,5
1 2 4000 228,7
2 3 4000 230,1

关于python - 读取 csv 文件时结合参数和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52002236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com