为啥我的代码没有过滤并且仍然打印列中的所有内容而不是应该过滤的内容?

Posted

技术标签:

【中文标题】为啥我的代码没有过滤并且仍然打印列中的所有内容而不是应该过滤的内容?【英文标题】:Why is my code is not filtering and still printing everything in the columns rather than what it should be filtering by?为什么我的代码没有过滤并且仍然打印列中的所有内容而不是应该过滤的内容? 【发布时间】:2018-09-27 13:10:15 【问题描述】:

这是我在这里的第一篇文章,所以请原谅我的帖子中的任何错误。

这是我的代码。我正在尝试过滤和打印这些数据,但是当脚本运行时,它会打印所有我不想要的列标题。有什么建议吗?

import pandas as pd


data = pd.read_csv("/Users/andrewschaper/Desktop/EQR_Data/EQR_Transactions_1.csv", low_memory=False)
print("Total rows: 0".format(len(data)))
print(list(data))

df = pd.DataFrame(data)
df.sort_values(by=['Filing_Quarter','product_name','time_zone','increment_name'],ascending=[True, True, True, True])

df.filter(items=['RECID', 'transaction_unique_id', 'ferc_tariff_reference', 'contract_service_agreement', 'transaction_unique_identifier', 'transaction_begin_date', 'transaction_end_date', 'trade_date', 'exchange_brokerage_service', 'point_of_delivery_specific_location', 'class_name', 'term_name', 'increment_peaking_name'])

print(df)

【问题讨论】:

No image for me =) 你应该重写你的代码而不是发布它的图片,这样我们可以直接复制粘贴它;-) 我停止阅读 “这是我的代码的图像。” Why is it bad to post pictures of code? @SOCO,我想你今天学到了重要的一课:数据帧上的大多数操作都会生成新的数据帧,它们不会修改你应用操作的那个。 i1181.photobucket.com/albums/x424/muffintop4life/… 感谢大家迄今为止的帮助。 【参考方案1】:

您应该在此处复制并粘贴您的代码,但我认为这样做可以:

# List of columns you want.
items = [x,y,z]

# Print the filtered dataframe.
df[items]

请记住,df[items]打印您过滤后的数据框,它不会删除其他列。如果这就是你想要的,那么filtered_df = df[items]

【讨论】:

以上是关于为啥我的代码没有过滤并且仍然打印列中的所有内容而不是应该过滤的内容?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我不能在我的结构中打印名称?

如何从结果集中打印值而没有列中的任何重复记录

在JavaScript / jQuery中从列中获取所有值而不重复

为啥 if 语句没有打印出字符串? cpp

仅在左侧列中显示表格,而不是在 phpmyadmin 中显示数据库

所以我做了一个线性搜索代码,但是当我在数组中输入一个数字时,它仍然会打印(数字没有)为啥会这样?