是否可以使用pandas将重新整形的数据保存/导出到csv / text / h5文件中?

时间:2017-02-10 04:31:34

标签: python csv pandas h5py

我发现了这个问题:How to reshape every nth row's data using pandas?

我修改了脚本以将结果保存在csv文件中,但是出现错误

AttributeError: 'numpy.ndarray' object has no attribute 'to_csv'

这是脚本。基本上我刚刚添加了

to_csv()

到它。

import pandas as pd

df = pd.read_csv("test.csv")

start = 0
for i in range(0, len(df.index)):
    if (i + 1)%10 == 0:
        result = df['Break'].iloc[start:i+1].reshape(2,5)
        start = i + 1

        result.to_csv('testing.csv')

我的问题是可以像这样保存结果

[['ww' 'ee' 'qq' 'xx' 'dd']
 ['gg' 'hh' 'tt' 'yy' 'uu']]
[['ii' 'oo' 'pp' 'mm' 'ww']
 ['zz' 'cc' 'rr' 'tt' 'll']] 

作为csv文件?

从我从结果中看到,'ww'直到'uu'(第一个矩阵)可以被认为是第一行,而第二个矩阵('ii'直到'll')可以被认为是第二行,这可以导出为csv文件(或者可能是其他文件格式; h5或文本)

感谢您的帮助。

[UPDATE]

我已经看过可能重复的问题,但我认为我的情况有点不同,因为另一个问题显示输出是这样的

[ 266.77832991  201.06347505  446.00066136  499.76736079  295.15519906
  214.50514991  422.1043505   531.13126879  287.68760191  201.06347505
  402.68859792  478.85808879  286.19408248  192.10235848]

虽然我的是这样的

[['ww' 'ee' 'qq' 'xx' 'dd']
 ['gg' 'hh' 'tt' 'yy' 'uu']]
[['ii' 'oo' 'pp' 'mm' 'ww']
 ['zz' 'cc' 'rr' 'tt' 'll']]

我也试过那里提供的答案,但是有错误。 这是我试过的

import pandas as pd
import numpy as np

df = pd.read_csv("test.csv")

start = 0
for i in range(0, len(df.index)):
    if (i + 1)%10 == 0:
        result = df['Break'].iloc[start:i+1].reshape(2,5)
        start = i + 1
        save = np.savetxt('testing.csv', result, delimiter=' , ')

和错误

TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e , %.18e , %.18e , %.18e , %.18e')

1 个答案:

答案 0 :(得分:0)

给出像这样的numpy数组

a = np.asarray([ [1,2,3], [4,5,6], [7,8,9] ])

您可以将其另存为csv文件

numpy.savetxt("foo.csv", a, delimiter=",")

生成的文件foo.csv具有所需的格式。

回答here