熊猫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