【问题标题】:Drop row from dataset if value exceeds certain character length如果值超过特定字符长度,则从数据集中删除行
【发布时间】:2021-03-28 19:18:17
【问题描述】:

我有一个数据集 df,它有几列我想查明并提取值是特定长度的位置(如果它超过 10 个字符)并删除该行

数据

ID             type
abccccc        22
aaaaaaaaaaa    22
b              11

想要的

ID             type
abccccc        22
b              11

在做

df.drop(df.index[df['ID'] == >10

我还在研究这个,感谢任何帮助

【问题讨论】:

  • 认为this与你需要的有关。

标签: python pandas numpy


【解决方案1】:

你可以使用:

df[df['ID'].str.len() <= 10]

【讨论】:

  • 谢谢,有没有办法显示删除了哪一行?
  • 如果要获取ID值超过10个字符的行,可以执行df[df['ID'].str.len() &gt; 10]。或者,您可以向数据框中添加一列,如下所示df["long_ID"] = df['ID'].str.len() &gt; 10。此列将在 ID 超过 10 个字符的行中具有 True 值,在其他行中具有 False 值。
  • @Lynn:或者,您可以使用index.to_list() 来获取符合条件的索引列表:delftstack.com/howto/python-pandas/…
最近更新 更多