【问题标题】:What is the difference between str(Series).split() and Series.str.split()?str(Series).split() 和 Series.str.split() 有什么区别?
【发布时间】:2023-03-16 00:29:01
【问题描述】:

我想从概念上了解为什么在 series 对象上使用 str(Series).split() 和 Series.str.split() 时输出会有所不同。我希望根据标点符号拆分日期: str(Series).split() 没有给我所需的输出,而另一种方法使用 Series.str.split() 但我听说使用 [dot ] 访问器不赞成。我在网上搜索过,但没有得到满意的答案。任何人都可以帮助我并阐明一些观点吗?我正在使用以下系列对象。

df5 = pd.Series(["04/20/2009", "04/20/09", "4/20/09", "4/3/09", "Mar-20-2009", "Mar 20, 2009", "March 20, 2009", "Mar. 20, 2009", "Mar 20 2009", "20 Mar 2009","20 March 2009", "20 Mar. 2009", "20 March, 2009", "Mar 20th, 2009", "Mar 21st, 2009", "Mar 22nd, 2009", "Feb 2009", "Sep 2009", "Oct 2010", "6/2008","12/2009", "2009", "2010"])

【问题讨论】:

  • str(Series) 返回系列的字符串表示形式,因此 str(Series).split() 拆分该字符串。而Series.str.split() 将系列中的每个单元格 视为一个字符串,然后拆分这些字符串。
  • ^ 此外,. 访问器仅在使用它访问数据框中的列名时才会被皱眉,而不是在访问其他内置属性时,原因是点访问器在使用列时不起作用空格,例如:df['col name'] 有效,而 df.col name 无效。

标签: python pandas string split


【解决方案1】:

str(series).split() 的功能类似于将系列对象连接成一个字符串,然后在指定的分隔符处将其拆分(在这种情况下,由于它为空,它将使用空格作为分隔符)。

另一方面,series.str.split() 的功能类似于将系列对象的每个字符串映射到 split 函数,这将为您提供一个系列对象,其中包含原始系列对象中每个字符串的字符串列表。

Here is the official documentationseries.str.split() 了解更多信息。

此外,点运算符在用于访问数据框列时通常不受欢迎,因为如果该列的名称中有空格,它将不起作用。

【讨论】:

    猜你喜欢
    • 2020-06-12
    • 1970-01-01
    • 2011-04-08
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-20
    • 2022-12-10
    相关资源
    最近更新 更多