我只需要将pandas数据帧中的特定行输出到CSV文件。换句话说,输出需要只有行X中的数据,用逗号分隔的单行中没有其他内容。我遇到to_CSV的问题是我找不到一种方法来做数据;我总是收到一个列数的额外行。
data.to_csv(filename, index=False)
给出
0,1,2,3,4,5
X,Y,Z,A,B,C
第一行只是列数,是数据帧的一部分,而不是数据。我只需要数据。有没有办法简单地做到这一点,或者我是否需要打破pandas并在python中进一步操作数据?
注意:前面的示例只有一行数据,但是也可以选择行的语法。
答案 0 :(得分:1)
你可以试试这个:
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
答案 1 :(得分:0)
您可以使用此
data.to_csv(filename, index=False, header=False)
header
表示:
中找到更具体的信息header:布尔值或字符串列表,默认为True 写出列名。如果给出了字符串列表,则假定它是列名称的别名
答案 2 :(得分:0)
您似乎正在寻找现有数据帧中的过滤数据并将其写入.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