【问题标题】:4 last characters truncated columns [duplicate]4 个最后一个字符被截断的列 [重复]
【发布时间】:2021-07-07 00:57:18
【问题描述】:

我想:

  1. 从df中提取一个movies DataFrame,仅包含电影(电影内容)。

  2. 在电影中创建一个新变量 duree,其中包含最后 4 个字符被截断的持续时间变量的值。

  3. 将变量duration的类型改为int。

1. movies = df[df['type'] == 'Movie']
2. movies['duration'] = movies['duration'].astype(str).str[:-4]
3. movies['duration'].astype(int)

我无法创建包含最后 4 个字符被截断的持续时间变量值的新变量 duree

【问题讨论】:

    标签: python pandas dataframe truncated


    【解决方案1】:

    这是一个警告,因为 movies 是原始 df 的一部分,因此在 pandas 中关于应该修改哪些 DataFrames 存在一些歧义,因为 movies 直接派生自 df - 这被称为chained assignment。目前,按照您的代码结构方式,pandas 将修改 movies 数据帧而不修改 df,但这可能会导致一些意外行为以及更复杂的操作。

    出于您的目的,您可以通过将电影设置为副本来避免链接分配,因此它不会连接到 df:movies = df[df['type'] == 'Movie'].copy()

    如果您有兴趣更深入地讨论链式分配以及为什么会出现此警告,那么已经有一个很好的 stackoverflow 答案here

    【讨论】:

    • 非常感谢;)
    猜你喜欢
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多