根据大量 python 数据帧的字数删除关键字

2024-04-28

如果我有这个df具有 41,000 行的数据框包含数千个单词,例如像这样df:

column1                                                                   column2
better spotted better rights rights rights fresh fresh rights rights      2015
better rights reserved                                                    2016
better                                                                    2015
better horse                                                              2014

我得到了每个单词的频率df to df2用这个代码:

df2 = df['column1'].str.split(expand=True).stack().value_counts()

and my df2看起来像这样:

keywords counts spotted 1 better 5 fresh 2 rights 6 horse 1 reserved 1

那么如何删除所有keywords in df其中有计数低于 5 次基于df2那么那么df看起来像这样:

column1                                           column2
better better rights rights rights rights rights  2015
better rights                                     2016
better                                            2015
better                                            2014

我的初步尝试是列出关键字df2像这样:

ListKeywords = ['spotted', 'fresh', 'horse', 'reserved']

然后简单地删除里面的所有单词列出关键词 from df用这个代码:

df['column1'] = df['column1'].apply(lambda x: ' '.join([word for word in x.split() if word not in (ListKeywords)]))

然后我感到很沮丧,因为我有 15,000 个关键字,而所有行中的字数都低于 5 次。这意味着我必须将 15,000 个关键字放入列出关键词,这太疯狂了。

任何人都可以帮助我摆脱这种沮丧吗?谢谢


虽然你创造了df2与以下人员合作更容易stackvalue_counts 之前的 ed 系列。这允许您过滤它str.join仅返回您想保留的单词。

s = df['column1'].str.split(expand=True).stack()

# Keep only words with frequency above specified threshold
cutoff = 5
s = s[s.groupby(s).transform('size') >= cutoff]

# Alignment based on original Index
df['column1'] = s.groupby(level=0).agg(' '.join)

                                            column1  column2
0  better better rights rights rights rights rights     2015
1                                     better rights     2016
2                                            better     2015
3                                            better     2014

据您所知,如果与value_countsDataFrame,您可以将其子集化并生成ListKeywords仅指定截止值。然而,我们已经split the 'column1'序列来获取计数,因此在这里重新进行此计算效率相当低。

df2 = df['column1'].str.split(expand=True).stack().value_counts()

cutoff = 5
ListKeywords = df2[df2 >= cutoff].index
#Index(['rights', 'better'], dtype='object')

df['column1'].apply(lambda x: ' '.join([i for i in x.split(' ') if i in ListKeywords]))

起始数据

df = pd.DataFrame({'column1': ['better spotted better rights rights rights fresh fresh rights rights',
                               'better rights reserved', 'better', 'better horse'],
                   'column2': [2015, 2016, 2015, 2014]})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据大量 python 数据帧的字数删除关键字 的相关文章

随机推荐

  • Ada 的命令行参数

    我正在编写一个 Ada 程序 该程序应该对字母字符进行大小写转换 该程序使用 1 2 或 3 个命令行参数 我几乎已经把事情写下来了 但我不知道如何进行论证 命令行参数是 单个字符指定是否要进行大写转换或小写转换 应用于输入 U 或 u 表
  • 如何用 numpy 在 Cython 中表示 inf 或 -inf ?

    我正在用 cython 逐个元素构建一个数组 我想存储常量np inf or 1 np inf 在某些条目中 然而 这将需要返回 Python 进行查找的开销inf 有没有libc math相当于这个常数 或者其他一些可以轻松使用的值 相当
  • C 语言的计算单元转换器

    我正在学习 C 并且编写了一个简单的程序 只是晒黑 输入时 您传递两个参数 行和列 输出时您会获得该单元格的 Calc 或 Excel 代码 例如 Input 3 1 Output A3 Input 1 27 Output AA1 代码 i
  • UIButton 数组或 UIButton 方法(名为:“\(string)”)

    是否可以制作一个数组UIButtons let buttonArray UIButton UIButton Button1 UIButton Button2 UIButton Button3 稍后参考为 buttonArray 0 setI
  • 我可以删除 TabControl 上选项卡上的虚线焦点矩形吗?

    我有一个选项卡控件 需要删除所选选项卡周围的虚线焦点矩形 我已将 TabControl 的 TabStop 属性设置为 false 但是 如果我单击一个选项卡并按Tab键 选项卡名称周围出现虚线矩形 我尝试过创建自己的TabControl并
  • 运行用户数据脚本 AWS EC2 时出现问题

    是否可以通过 AWSCLI 用户数据 运行 python 脚本 我尝试过 但它没有运行 我的日志中有以下内容 boot log 2015 08 07 10 08 30 660 init py WARNING Unhandled non mu
  • 在 silverlight 中播放视频?

    如何使用 silverlight 播放视频 Visual Studio 是否内置了视频播放器组件 或者我需要制作一个视频播放器 通常情况下 这取决于您的要求 您可以使用Silverlight自带的媒体元素 msdn信息在这里 http ms
  • 如何检测两个同时触摸?

    Windows Phone 8 中的触摸检测利用了 System Windows Input Touch FrameReported 事件 该事件是开发人员可用的最原始且响应速度最快的触摸事件 您可以像这样使用该事件 public Main
  • 如何保证主机应用程序和扩展程序使用的共享应用程序容器中的核心数据存储中的唯一条目?

    为了有效地提出我的问题 让我们首先考虑一下我面临的具体场景 常规设置 一个主机 iOS 8 应用程序 与主机应用程序捆绑在一起的一个或多个 iOS 8 扩展 WatchKit Share 等 主机应用程序和所有扩展在共享应用程序组容器中共享
  • 通过引用调用原型函数时,类失去“this”范围

    谁能向我解释为什么 b 返回未定义以及如何解决这个问题 当我通过引用调用原型函数时 为什么 this 范围会丢失 MyClass function test this test test MyClass prototype myfunc f
  • 如何确定动态创建的 DOM 元素是否已添加到 DOM 中?

    根据规格 http www w3 org TR REC html40 interact scripts html 只有BODY and FRAMESETelements 提供了一个要附加的 onload 事件 但我想知道动态创建的 DOM
  • sqlalchemy:每次提交都需要回滚吗?

    我正在为我的网络应用程序使用 SQLAlchemy 我见过很多这样的代码 try session commit except session rollback 我想知道是否每个人都有必要commit 手术 如果是 那么为什么它不属于comm
  • 代码合约问题

    你好 我有一个关于 CodeContracts 的小问题 我有一个类库项目 它作为一个类 具有方法 foo string s1 string s2 在 foo 方法中 我有一个 Contract Requires s1 null 因此 如果
  • 我可以创建一个与提交按钮功能相同的 CommandLink 吗?

    请理解我写作能力的不足 I am testing to make a custom credential provider I want to create a CommandLink that does the same thing wi
  • Rails:计划任务来预热缓存?

    我使用以下内容通过 memcached 缓存加载缓慢的页面 caches action complex report expires in gt 1 day 控制器操作受 Devise 身份验证保护 当前 该页面在用户第一次请求时被缓存 当
  • 如何在 OpenMDAO 1.x 中使用嵌套问题?

    我正在尝试在 OpenMDAO 上实现协作优化和其他多级架构 我读here https stackoverflow com questions 32612456 how to setup multi level mdo formulatio
  • ChromeOS 上 Android 应用的侧面加载和调试机制是什么?

    我已经经历了一切http www chromium org chromium os android apps http www chromium org chromium os android apps并且还观看了 IO 视频 似乎没有提到
  • 无法获取 Ripple 会话信息

    我使用 Visual Studio 2015 RC 创建了一个 Ionic Apache Cordova 应用程序 我在自己的解决方案文件中创建了它 并且可以使用 Ripple 运行它 现在我想将文件移动到与服务器应用程序相同的文件夹中 因
  • Django:从 QueryDict 读取 JSON 对象数组

    如何通过 JS 的 AJAX 调用传递复合 JSON 结构 并在服务器端将其读取为 python 中的 非常相似 的数据结构 我知道可以使用 json 格式 simplejson 等 但我不知何故觉得 QueryDict 本身在我的情况下格
  • 根据大量 python 数据帧的字数删除关键字

    如果我有这个df具有 41 000 行的数据框包含数千个单词 例如像这样df column1 column2 better spotted better rights rights rights fresh fresh rights rig