我发现了这个问题: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')
答案 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