0
我想从一个特定的.csv文件创建一个可用的熊猫数据框。该文件有一列用于标识行所在的测试类型,两列标识正在测量的设备,其余列包含数据。Python - 熊猫 - 从行条目创建列
输入.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很新,所以任何帮助将非常感谢!
我想使用'pd.pivot_table()'函数,但它是采用不同测试的每个'meas_n'的均值。我想要做的是为每个'meas_n'创建一个新行,相应地填写“devicename”和“deviceinfo”的列,类似于SQL数据库格式。它似乎没有内置任何东西? – Keegan
我最终通过循环遍历每一行来解决这个问题,使用string.split()作为数据并将其写入到我想要的格式的StringIO对象中。然后我将它传递给read_csv()并以我想要的格式获得数据。 – Keegan