python - 从 pandas 数据框中删除句子长度超过特定字长的行
问题描述
我想从 pandas 数据框中删除行,其中包含长度大于所需长度的特定列中的字符串。
例如:
输入帧:
X Y
0 Hi how are you.
1 An apple
2 glass of water
3 I like to watch movie
现在,假设我想从数据框中删除长度大于或等于 4 的字符串的行。
所需的输出帧必须是:
X Y
1 An apple
2 glass of water
删除列“X”中值为 0,3 的行,因为第 0 列中的单词数为 4,第 3 列中的单词数分别为 5。
解决方案
首先按空格拆分值,获取行数并通过Series.str.len
反转条件>=
检查for :<
Series.lt
boolean indexing
df = df[df['Y'].str.split().str.len().lt(4)]
#alternative with inverted mask by ~
#df = df[~df['Y'].str.split().str.len().ge(4)]
print (df)
X Y
1 1 An apple
2 2 glass of water
推荐阅读
- go - 如何检查gorm save()是否更新了mysql中的任何值
- asp.net-core - Swagger 因循环模型参考而崩溃
- ruby-on-rails - 如果应用程序被渲染两次,如何更改 React 焦点?
- android - 如何以及在何处在 AlertDialog 的 editText 中添加 setError
- bash - 如何在 bash shell 环境中自动增加文件名版本?
- chart.js - 使用 ChartKick 和 Chart.js 在饼图中显示百分比
- spring - Eh Cache 3.6.0 @Cacheable 即使在 Spring Boot 中设置了 ttl 时间后也不会过期
- c# - 如何将控制台输出保存到文件中?
- excel - mac和windows打开时VBA代码的区别
- unity3d - 如何自动从资产商店重新下载 Unity 依赖项?