python - 从 Pandas 输出中删除行数

标签 python python-3.x pandas dataframe

我正在使用 pandas 提取一个 csv 文件,只提取一列,并将其输出到一个文本文件。我的问题是,当它输出时,它会添加一行带有行号的行。我需要该行号不存在。

到目前为止,我已经尝试了以下代码:(当/如果我让它工作时,print 将被替换为 file.write(df)。

import pandas as pd
from pandas import DataFrame

pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
file=open('BlockedIPs.txt', 'w')

df = pd.read_csv('IPOutput.csv', dtype='object')
df = df['IP Address (Impacted)'].astype('str')
#df = DataFrame(df) #I've commented these two lines out because they return "None"
#df = df.set_index('IP Address (Impacted)', inplace=True)

print(df)

实际输出为:

...        ...
44036      185.176.27.18
44037     51.143.106.177
44038     51.143.106.177
44039     51.143.106.177
44040    173.194.152.170
44041    173.194.152.170
44042    173.194.152.170
44043    173.194.152.123
44044    173.194.152.123
44045    173.194.152.123

预期输出是:

185.176.27.18
51.143.106.177
51.143.106.177
51.143.106.177
173.194.152.170
173.194.152.170
173.194.152.170
173.194.152.123
173.194.152.123
173.194.152.123

最佳答案

您所指的“行号”是数据框的索引。如果您不指定索引,Pandas 会自动为您创建一个。 Pandas 需要一个索引,一些行标识符,因此您可以将数据集的一列指定为该索引,您可以创建一个新的索引,也可以让 Pandas 执行(默认)。

如果要指定文件的一列作为索引,请指定参数 index_col 的值,该值可以是单个列或列列表。

查看文档 here .

如果你想输出没有索引的文件,你可以简单地将to_csv函数的index参数设置为False(默认它是 True)

关于python - 从 Pandas 输出中删除行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57210277/

相关文章:

python - 服务器的非阻塞套接字

python - 编译 *.py 文件

python - 脾气暴躁,TypeError : Could not be cast from dtype ('<M8[us]' ) to dtype ('<M8[D]' )

python - 本地化 Pandas 日期时间索引时出现 NonExistentTimeError

pandas - 使用多索引创建空的 pandas 数据框

python - 将字符串拆分为数据框 pandas

python - 如何解释 vowpal wabbit --rank 模型的 --audit 和 --invert_hash 输出?

python-3.x - 如何使用AWS Boto3获取Cloudwatch指标统计信息?

python - 在没有 NLTK 的情况下删除文本文件中的停用词

python - Pandas DataFrame 使用另一个 DataFrame 列过滤行