编辑:我相信这都是用户错误。我默认输入的是 df.T,我突然想到这很可能是 TRANSPOSE 输出。通过输入df
,数据框将正常输出(标题作为列)。感谢那些站出来尝试提供帮助的人。最后,这只是我对 pandas 语言的误解..
原帖
我不确定我是否犯了一个简单的错误,但 .csv 文件中的列正在使用 pd.read_csv
作为行导入。数据帧为 5 行 x 2000 列。我只导入 14 列中的 5 列,因此我设置了一个列表来保存我想要的列的名称。它们与 .csv 文件中的内容完全匹配。我在这里做错了什么?
import os
import numpy as np
import pandas as pd
fp = 'C:/Users/my/file/path'
os.chdir(fp)
cols_to_use = ['VCOMPNO_CURRENT', 'MEASUREMENT_DATETIME',
'EQUIPMENT_NUMBER', 'AXLE', 'POSITION']
df = pd.read_csv('measurement_file.csv',
usecols=cols_to_use,
dtype={'EQUIPMENT_NUMBER': np.int,
'AXLE': np.int},
parse_dates=[2],
infer_datetime_format=True)
输出:
0 ... 2603
VCOMPNO_CURRENT T92656 ... T5M247
MEASUREMENT_DATETIME 7/26/2018 13:04 ... 9/21/2019 3:21
EQUIPMENT_NUMBER 208 ... 537
AXLE 1 ... 6
POSITION L ... R
[5 rows x 2000 columns]
谢谢。
编辑:要注意,如果我使用标准 pd.read_csv('measurement_file.csv')
导入整个 .csv,则列会正确导入。
编辑 2:示例 csv:
VCOMPNO_CURRENT,MEASUREMENT_DATETIME,REPAIR_ORDER_NUMBER,EQUIPMENT_NUMBER,AXLE,POSITION,FLANGE_THICKNESS,FLANGE_HEIGHT,FLANGE_SLOPE,DIAMETER,RO_NUMBER_SRC,CL,VCOMPNO_AT_MEAS,VCOMPNO_SRC
T92656,10/19/2018 7:11,5653054,208,1,L,26.59,27.34,6.52,691.3,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,1,R,26.78,27.25,6.64,691.5,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,2,L,26.6,27.13,6.49,691.5,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T92656,10/19/2018 7:11,5653054,208,2,R,26.61,27.45,6.75,691.6,OPTIMESS_DATA,2MTA ,T71614 ,RO_EQUIP
T7L672,10/19/2018 7:11,5653054,208,3,L,26.58,27.14,6.58,644.4,OPTIMESS_DATA,2CTC ,T7L672 ,BOTH
T7L672,10/19/2018 7:11,5653054,208,3,R,26.21,27.44,6.17,644.5,OPTIMESS_DATA,2CTC ,T7L672 ,BOTH
最佳答案
这里的一个简单的解决方法是仅对数据帧进行转置。 Link to Pandas Documentation
df = pd.DataFrame.transpose(df)
关于python - Pandas read_csv : Columns are being imported as rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687507/