小编Jus*_*nan的帖子

将列中的所有值复制到pandas数据帧中的新列

这是一个非常基本的问题,我似乎无法找到答案.

我有一个这样的数据帧,称为df:

  A     B     C
 a.1   b.1   c.1
 a.2   b.2   c.2
 a.3   b.3   c.3
Run Code Online (Sandbox Code Playgroud)

然后我从df中提取所有行,其中列'B'的值为'b.2'.我将这些结果分配给df_2.

df_2 = df[df['B'] == 'b.2']
Run Code Online (Sandbox Code Playgroud)

df_2成为:

  A     B     C
 a.2   b.2   c.2
Run Code Online (Sandbox Code Playgroud)

然后,我将列'B'中的所有值复制到名为'D'的新列中.导致df_2成为:

  A     B     C     D
 a.2   b.2   c.2   b.2
Run Code Online (Sandbox Code Playgroud)

当我执行这样的任务时:

df_2['D'] = df_2['B']
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

尝试在DataFrame的切片副本上设置值.尝试使用.loc [row_indexer,col_indexer] = value

请参阅文档中的警告:http: //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy


在创建像这样的df_2时我也尝试过使用.loc:

df_2 = df.loc[df['B'] == 'b.2']
Run Code Online (Sandbox Code Playgroud)

但是,我仍然收到警告.

任何帮助是极大的赞赏.

python pandas

34
推荐指数
4
解决办法
9万
查看次数

标签 统计

pandas ×1

python ×1