gpt4 book ai didi

python - 如何在 Python 和 Pandas 中使用 for 循环创建多个过滤数据框?

转载 作者:行者123 更新时间:2023-11-28 22:21:11 24 4
gpt4 key购买 nike

我发现自己不得不经常创建数据框,这些数据框是更大数据框的过滤器,我想知道是否有一种方法可以编写 Python 程序来为我执行此操作?

例如,我现在正在处理的数据集是应用程序版本数据,如下所示:

user_id | session_id | timestamp | time_seconds | app_version
001 | 123 | 2014-01-01| 251 | v1
002 | 845 | 2014-01-01| 514 | v1
003 | 741 | 2014-01-02| 141 | v1
003 | 477 | 2014-01-03| 221 | v2
004 | 121 | 2014-01-03| 120 | v2
005 | 921 | 2014-01-04| 60 | v3
...

我需要分离出不同的应用程序版本,以便每个版本都有自己的数据框,目前我是这样做的:

v1 = all_data[all_data['app_version'] == 'v1']
v2 = all_data[all_data['app_version'] == 'v2']
v3 = all_data[all_data['app_version'] == 'v3']

这看起来很重复,我可以写一个 for 循环来为我做这个吗?

最佳答案

我认为您需要创建 DataFrame 字典:

d = dict(tuple(df.groupby('app_version')))
print (d)
{'v2': user_id session_id timestamp time_seconds app_version
3 3 477 2014-01-03 221 v2
4 4 121 2014-01-03 120 v2,
'v3': user_id session_id timestamp time_seconds app_version
5 5 921 2014-01-04 60 v3,
'v1': user_id session_id timestamp time_seconds app_version
0 1 123 2014-01-01 251 v1
1 2 845 2014-01-01 514 v1
2 3 741 2014-01-02 141 v1}

print (d['v1'])
user_id session_id timestamp time_seconds app_version
0 1 123 2014-01-01 251 v1
1 2 845 2014-01-01 514 v1
2 3 741 2014-01-02 141 v1

print (type(d['v1']))
<class 'pandas.core.frame.DataFrame'>

关于python - 如何在 Python 和 Pandas 中使用 for 循环创建多个过滤数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48521560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com