gpt4 book ai didi

python - 如何按特定列过滤在 Pandas 中创建的交叉表

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:29 25 4
gpt4 key购买 nike

我使用以下方法在 pandas 中创建了一个交叉表:

grouped_missing_analysis = pd.crosstab(clean_sessions.action_type, clean_sessions.action, margins=True).unstack()    
print(grouped_missing_analysis[:20])

导致显示:

action  action_type     
10 Missing 0
Unknown 0
booking_request 0
booking_response 0
click 0
data 0
message_post 3215
modify 0
partner_callback 0
submit 0
view 0
All 3215
11 Missing 0
Unknown 0
booking_request 0
booking_response 0
click 0
data 0
message_post 716
modify 0
dtype: int64

我只想显示“未知”、“缺失”或“其他”的 action_type,并忽略每个操作的其他 action_type。我觉得答案与以下内容有关:

.where(clean_sessions.action_type.isin(('Missing', 'Unknown')), 'Other')

从我之前的片段中,但我无法让它工作。也许 pivot_table 更简单,这个练习只是让我学习如何使用不同的函数在 python 中进行数据分析。

clean_sessions 的原始数据如下所示:

   user_id          action action_type            action_detail  \
0 d1mm9tcy42 lookup Missing Missing
1 d1mm9tcy42 search_results click view_search_results
2 d1mm9tcy42 lookup Missing Missing
3 d1mm9tcy42 search_results click view_search_results
4 d1mm9tcy42 lookup Missing Missing
5 d1mm9tcy42 search_results click view_search_results
6 d1mm9tcy42 lookup Missing Missing
7 d1mm9tcy42 personalize data wishlist_content_update
8 d1mm9tcy42 index view view_search_results
9 d1mm9tcy42 lookup Missing Missing

device_type secs_elapsed
0 Windows Desktop 319
1 Windows Desktop 67753
2 Windows Desktop 301
3 Windows Desktop 22141
4 Windows Desktop 435
5 Windows Desktop 7703
6 Windows Desktop 115
7 Windows Desktop 831
8 Windows Desktop 20842
9 Windows Desktop 683

最佳答案

这些是您的索引而不是列,您需要传递标签来选择感兴趣的行。

您可以为第一层传递 slice(None),然后为第二层传递一个列表:

In [102]:
grouped_missing_analysis.loc[slice(None), ['Missing', 'Unknown', 'Other']]

Out[102]:
action action_type
index Missing 0
lookup Missing 5
personalize Missing 0
search_results Missing 0
All Missing 5
dtype: int64

docs提供有关这种索引方式的更多详细信息

关于python - 如何按特定列过滤在 Pandas 中创建的交叉表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35430279/

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