python - 如何动态过滤 Pandas 数据框中的数据?
问题描述
我有 3 个具有不同列的不同数据框,如下所示。
df1 = pd.DataFrame({"Name": ['A', 'B', 'C'], "Age": [1, 2, 3]})
df2 = pd.DataFrame({"Addr": ['D', 'E', 'F'], "PIN": [4, 5, 6]})
df3 = pd.DataFrame({"State": ['X', 'Y', 'Z'],"Phone": [7, 8, 9]})
我将传递两个参数 Dataframe_Name, Column_Name 。
基于以上两个参数,它将过滤并打印相应 Dataframe 和 Column 的数据。
如何做到这一点?
解决方案
你需要这个:
In [3566]: def filter_df(df, col):
...: return df[col]
...:
In [3567]: filter_df(df2, 'Addr')
Out[3567]:
0 D
1 E
2 F
Name: Addr, dtype: object
In [3568]: filter_df(df1, 'Name')
Out[3568]:
0 A
1 B
2 C
Name: Name, dtype: object
推荐阅读
- python - Scrapy gets partial data
- python - 更改 DataFrame 中的多个列
- c - C语言错误输出...使用二维数组的帕斯卡三角形
- ruby-on-rails - Upgrading to Rails 5.2, can't boot, ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation does not exist
- bash - 将为多个服务器打印 HTTP 标头的脚本
- meshlab - Scaling and translating a mesh to match another
- python - Django-Cms and Django-shop migration issues
- swift - withUnsafeBytes + 泛型类型行为
- csv - 如何使用 sed/vim 重新格式化文件?
- java - 使用依赖于其他方法的方法