首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于现有df中的特定值(很多值)的Pandas中的新数据

基于现有df中的特定值(很多值)的Pandas中的新数据
EN

Stack Overflow用户
提问于 2022-11-17 14:23:52
回答 1查看 32关注 0票数 -1

晚上好!我在用熊猫做木星笔记本。我有一个巨大的数据代表了一个信使的26个渠道的全部历史。它有一个列"dialog_id“,它表示在其中发送消息的对话框(因此,列中只能有26个唯一值,但是有超过700 k行,df是按时间而不是id排序的,因此有点混乱)。我必须将这个数据分割成两个不同的(一个将包含13个通道的完整历史,另一个将包含其余13个通道的历史)。我知道我必须拆分的ids,它们也是随机的。例如,一个是-1001232032465,另一个是-1001153765346。

问题是,我怎样才能做到最优雅、最充分?我知道我可以用df.loc[]做这件事,但我不想放13行df.loc[]。我尝试过使用逻辑运算符,例如: df1.loc[(df"dialog_id“== '-1001708255880')和(df"dialog_id”== '-1001645788710‘)],但它不起作用。我想我用错了。我希望通过使用逻辑运算符,使用任何创建新df的方法都能找到解决方案。在口头表达中,我认为应该是“如果dialog_id为x,dialog_id为y,或dialog_id为z,则将行放入新df中”。请帮帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 15:21:33

最简单的方法似乎只是设置一个查询。

代码语言:javascript
复制
df = pd.DataFrame(dict(col_id=[1,2,3,4,], other=[5,6,7,8,]))

channel_groupA = [1,2]
channel_groupB = [3,4]

df_groupA = df.query(f'col_id == {channel_groupA}')
df_groupB = df.query(f'col_id == {channel_groupB}')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74477104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档