熊猫CSV只输出某一行中的数据(to_csv)
问题描述:
我只需要输出一个从熊猫数据框到CSV文件的特定行。换句话说,输出只需要X行中的数据,用逗号隔开一行,没有别的。我遇到的to_CSV问题是我无法找到一种方法来处理数据;我总是收到一个额外的列数。熊猫CSV只输出某一行中的数据(to_csv)
data.to_csv(filename, index=False)
给出
0,1,2,3,4,5
X,Y,Z,A,B,C
第一行仅仅是一个列计数,并且是数据帧,而不是数据的一部分。我只需要这些数据。有没有办法简单地做到这一点,还是我需要摆脱熊猫,并在Python中进一步操纵数据?
注意:前面的例子只有一行数据,但是也有选择行的语法。
答
您可以使用此
data.to_csv(filename, index=False, header=False)
的header
表示:
标题:布尔或字符串列表,默认值是true 写出列名。如果给定的字符串列表被假定为列名
你可以找到在pandas.DataFrame.to_csv
答
更具体的信息你可以试试这个别名:
df = pd.DataFrame({'A': ['a','b','c','d','e','f'], 'B': [1,2,3,4,5,6]})
A B
0 a 1
1 b 2
2 c 3
3 d 4
4 e 5
5 f 6
您可以选择你想要的行,在这种情况下,我选择了一行index 1
:
df.iloc[1:2].to_csv('test.csv', index=False, header=False)
输出到csv
文件看起来像这样(确保您使用header=False
):
b 2
答
好像你是从现有的数据帧寻找过滤数据,并将其写入.csv文件。
因为你需要过滤你的数据。然后应用to_csv
命令。
这里是命令
df[df.index.isin([3,4])]
,如果这是你的数据
>>> df
A B
0 X 1
1 Y 2
2 Z 3
3 A 4
4 B 5
5 C 6
那么这将是您的预期过滤的内容。那么你可以在其上应用to_csv
。
>>> df[df.index.isin([3,4])]
A B
3 A 4
4 B 5