首页 > 解决方案 > 同时创建新数据框和新列

问题描述

我想知道我们是否可以像下面这样一次创建新的 DataFrame 和新列。

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)

# Can I combine the 2 rows into 1
new_df = df
new_df['new column'] = new_df['col1'] * 2 + new_df['col2'] / 4

print(new_df)

标签: pythonpandasdataframe

解决方案


您可以使用.assign()数据框的方法执行此操作,同时创建副本并添加新列:

>>> df
   col1  col2
0     1     3
1     2     4
>>> new_df = df.assign(col3=df["col1"] * 2 + df["col2"] / 4)
>>> new_df
   col1  col2  col3
0     1     3  2.75
1     2     4  5.00

推荐阅读