Python - Pandas - 从行条目创建列

时间:2016-01-18 04:50:09

标签: python csv

我正在尝试从特定的.csv文件创建可用的Pandas数据帧。该文件有一列用于标识行所用数据的测试类型,两列用于标识正在测量的设备,其余列包含数据。

输入.csv文件遵循以下格式:

testtype1, device1name, device1info, meas_1, meas_2, meas_3, ... ... , meas_n
testtype2, device1name, device1info, meas_1, meas_2, meas_3, ... ... , meas_n
testtype3, device1name, device1info, meas_1, meas_2, meas_3, ... ... , meas_n
testtype1, device2name, device2info, meas_1, meas_2, meas_3, ... ... , meas_n
testtype2, device2name, device2info, meas_1, meas_2, meas_3, ... ... , meas_n
testtype2, device2name, device2info, meas_1, meas_2, meas_3, ... ... , meas_n
...        ...          ...          ...     ...     ...               ...

等等。我试图将这些数据转换为这种格式:

devicename    deviceinfo    testtype1   testtype2   testtype3
device1name   device1info   meas_1      meas_1      meas_1
device1name   device1info   meas_2      meas_2      meas_2
device1name   device1info   meas_3      meas_3      meas_3
...           ...           ...         ...         ...
device1name   device1info   meas_n      meas_n      meas_n
device2name   device2info   meas_1      meas_1      meas_1
device2name   device2info   meas_2      meas_2      meas_2
...           ...           ...         ...         ...

我使用pd.read_csv(filename)读取文件,但是一旦我收到数据,我就会卡住。我已经看过使用df.pivot,并且还将数据帧切片与测量值一起转置,但是我不知道从哪里开始。我是Python的新手,所以任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:0)

数据透视表是执行此操作的正确方法 - 慢慢启动 - 然后增加复杂性。

从数据的外观

getCacheDir()

如果你想做一些 numpy 数学调用你会添加一个

 new_df = pd.pivot_table(orig_dataframe,index=['device1name','device1info'],values=['Col1','Col2'])

到pivot_table调用