熊猫read_csv:列将作为行导入

时间:2020-01-10 18:56:05

标签: python python-3.x pandas csv import

编辑:我相信这是所有用户错误。默认情况下,我一直在输入df.T,但我发现这很可能是TRANSPOSE输出。通过键入df,将正常输出数据帧(标题为列)。感谢您加倍尝试和帮助的人。最后,这只是我对熊猫语言的误解。

原始帖子

我不确定是否犯了一个简单的错误,但是使用pd.read_csv将.csv文件中的列导入为行。数据帧结果是5行乘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             

2 个答案:

答案 0 :(得分:1)

一种简单的解决方法是仅对数据帧进行转置。 Link to Pandas Documentation

    #contenedor{
      position: absolute;
      margin: auto;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 250px;
      height: 250px;
      border: 1px solid #CCC;
      border-radius: 20px;
      text-align: left;
      padding-top: 60px;
      box-shadow: 5px 5px 5px #D05353;
      background-color: #E58F65;
      font-family: "Times New Roman", Times, serif;
      font-size: 20px;
      padding-left: 65px;
    }

    #input{
    	width: 50%;
    	height: 50px;
    	margin-left: 30px;
    	background-color: #35A7FF;
    	border-color: #82DDF0;
    	color: #FFFFFF;
    }

答案 1 :(得分:0)

你可以这样尝试吗?

import pandas as pd

dataset = pd.read_csv('yourfile.csv')

#filterhere
dataset = dataset[cols_to_use]
相关问题