Pandas CSV只输出特定行中的数据(到CSV)

2024-05-01 17:15:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我只需要将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进一步操作数据?

注意:前面的示例只有一行数据,但是也可以使用选择行的语法。


Tags: 文件csvto数据方法false示例内容
3条回答

似乎您正在寻找从现有数据框中筛选数据并将其写入.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

你可以试试这个:

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

你可以用这个

data.to_csv(filename, index=False, header=False)

header表示:

header : boolean or list of string, default True Write out column names. If a list of string is given it is assumed to be aliases for the column names

您可以在pandas.DataFrame.to_csv中找到更具体的信息

相关问题 更多 >