最后 4 个字符被截断的列
4 last characters truncated columns
我愿意:
从df中提取一个movies DataFrame,只包含movies(电影内容)。
在 movies 创建一个新变量 duree,其中包含截断最后 4 个字符的 duration 变量的值。
将duration变量类型改为int
1. movies = df[df['type'] == 'Movie']
2. movies['duration'] = movies['duration'].astype(str).str[:-4]
3. movies['duration'].astype(int)
我无法创建我的新变量 duree,它包含最后 4 个字符被截断的持续时间变量的值
这是一个警告,因为 movies
是原始 df 的一部分,所以 pandas 中关于应该修改哪些数据帧存在一些歧义,因为 movies
是直接派生自 df
- 这称为 chained assignment
。目前你的代码结构方式,pandas 将修改 movies
DataFrame 而不会修改 df
但这可能会导致一些更复杂的操作的意外行为。
为了您的目的,您可以通过将电影设置为副本来避免链式赋值,这样它就不会连接到 df:movies = df[df['type'] == 'Movie'].copy()
如果您有兴趣更深入地讨论链式赋值以及出现此警告的原因,Whosebug 已经有一个很棒的答案 here。
我愿意:
从df中提取一个movies DataFrame,只包含movies(电影内容)。
在 movies 创建一个新变量 duree,其中包含截断最后 4 个字符的 duration 变量的值。
将duration变量类型改为int
1. movies = df[df['type'] == 'Movie']
2. movies['duration'] = movies['duration'].astype(str).str[:-4]
3. movies['duration'].astype(int)
我无法创建我的新变量 duree,它包含最后 4 个字符被截断的持续时间变量的值
这是一个警告,因为 movies
是原始 df 的一部分,所以 pandas 中关于应该修改哪些数据帧存在一些歧义,因为 movies
是直接派生自 df
- 这称为 chained assignment
。目前你的代码结构方式,pandas 将修改 movies
DataFrame 而不会修改 df
但这可能会导致一些更复杂的操作的意外行为。
为了您的目的,您可以通过将电影设置为副本来避免链式赋值,这样它就不会连接到 df:movies = df[df['type'] == 'Movie'].copy()
如果您有兴趣更深入地讨论链式赋值以及出现此警告的原因,Whosebug 已经有一个很棒的答案 here。