【问题标题】:How to drop each values after symbol "/" in column in Pandas Data Frame in Python?python - 如何在Python中Pandas Dataframe的列中的符号“/”之后删除每个值?
【发布时间】:2021-08-20 05:38:43
【问题描述】:

我在 Python Pandas 中有如下数据框:

col1
--------
abc
aaa/bcd
ghi/jke/zpo
rtv

我想删除“/”之后的每个值。因此,我需要以下内容:

col1
--------
abc
aaa
ghi
rtv

如何在 Python Pandas 中做到这一点?

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

你可以使用.str.split:


df["col1"] = df["col1"].str.split("/").str[0]
print(df)

打印:

  col1
0  abc
1  aaa
2  ghi
3  rtv

【讨论】:

  • 什么是字符串拆分?为什么会有 [0] ?
  • @Matop 例如.str.split("/") 会将ghi/jke/zpo 拆分为['ghi', 'jke', 'zpo'] 所以我们只需要第一个元素 - 我们使用[0]
  • 好的,太好了,6分钟我给你最好的答案!谢谢
【解决方案2】:

使用.str.split()expand 选项,您只需获取结果数据框中的第一列:

>>> df['col1'].str.split('/', expand=True)[0]
0    abc
1    aaa
2    ghi
3    rtv
Name: 0, dtype: object

【讨论】:

    【解决方案3】:

    根据 Andrej 和 Cimbali 给出的答案,您还可以在 map() 中使用 lambda 函数,如下所示。用“/”分割列的每个元素,得到第一个元素:

    df["col1"].map(lambda x: x.split("/")[0])
    

    【讨论】:

      猜你喜欢
      • 2021-03-14
      • 2016-05-05
      • 2021-06-24
      • 2019-09-20
      • 2019-12-30
      • 1970-01-01
      • 2022-01-20
      • 2020-10-12
      • 2022-01-26
      相关资源
      最近更新 更多