将dataframe的一列添加为另一个dataframe的新列
时间: 2023-08-08 15:08:51 浏览: 247
你可以使用 `join` 或 `merge` 函数将两个 DataFrame 进行合并,并将一个 DataFrame 的列添加为另一个 DataFrame 的新列。
以 `df1` 和 `df2` 为例,假设你要将 `df1` 的列 `col1` 添加为 `df2` 的新列:
```
import pandas as pd
# 创建示例数据
df1 = pd.DataFrame({'id': [1, 2, 3], 'col1': ['a', 'b', 'c']})
df2 = pd.DataFrame({'id': [1, 2, 3], 'col2': ['x', 'y', 'z']})
# 使用 join 函数合并 DataFrame
df3 = df2.join(df1.set_index('id'), on='id')
# 或者使用 merge 函数合并 DataFrame
df3 = pd.merge(df2, df1, on='id')
```
这将生成一个新的 DataFrame `df3`,其中包含 `df2` 的所有列和 `df1` 的 `col1` 列作为新列。在这些例子中,我们将 `id` 列用作共同列。
相关问题
如何将DataFrame的一列添加到另一个DataFrame
可以使用 pandas 的 concat 函数来将一个 DataFrame 的列添加到另一个 DataFrame 中。具体步骤如下:
1. 确定要添加的列是哪一列,以及要添加到哪个 DataFrame 中。
2. 使用 loc 函数选择要添加的列,并将其作为一个新的 DataFrame。
3. 使用 concat 函数将新的 DataFrame 与原始 DataFrame 进行拼接(按行或按列)。
示例代码如下:
```python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9]})
# 将 df2 的 "C" 列添加到 df1 中
new_col = df2.loc[:, 'C']
df1 = pd.concat([df1, new_col], axis=1)
print(df1)
```
输出结果为:
```
A B C
0 1 4 7
1 2 5 8
2 3 6 9
```
在这个示例中,我们将 df2 的 "C" 列添加到了 df1 中。我们使用 loc 函数选择了要添加的列,并将其作为一个新的 DataFrame。然后,我们使用 concat 函数将新的 DataFrame 与原始 DataFrame df1 进行按列拼接。
python dataframe添加一列_从另一个DataFrame添加一列
可以使用 Pandas 的 `merge` 函数将两个 DataFrame 合并,并添加新的一列。假设我们有两个 DataFrame,一个是 `df1`,另一个是 `df2`,他们共享一个列 `id`,我们想要将 `df2` 的一列 `new_col` 添加到 `df1`,可以按照以下步骤进行操作:
```python
import pandas as pd
# 创建示例数据
data1 = {'id': [1, 2, 3, 4], 'col1': ['a', 'b', 'c', 'd']}
data2 = {'id': [1, 2, 3, 4], 'new_col': [10, 20, 30, 40]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)
# 使用 merge 函数合并两个 DataFrame
merged_df = pd.merge(df1, df2, on='id')
# 查看合并后的结果
print(merged_df)
# 输出:
# id col1 new_col
# 0 1 a 10
# 1 2 b 20
# 2 3 c 30
# 3 4 d 40
```
在合并后的 DataFrame 中,`new_col` 就成为了新的一列,可以按照需要进行操作。
阅读全文