pandas如何将两列合并为一列
时间: 2024-05-12 16:18:32 浏览: 90
您可以使用pandas库中的apply方法,将两列数据按照指定规则合并为一列。例如:
```
import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': ['d', 'e', 'f']})
def merge_row(row):
return row['A'] + ',' + row['B']
df['C'] = df.apply(merge_row, axis=1)
print(df)
```
运行结果为:
```
A B C
0 a d a,d
1 b e b,e
2 c f c,f
```
以上是一种方式,具体可以根据实际情况选择其他方法。
相关问题
pandas将两列合并为一列
可以使用pandas的concat函数将两列合并为一列,例如:
```python
import pandas as pd
df = pd.DataFrame({'A': ['foo', 'bar'], 'B': ['baz', 'qux']})
df['AB'] = pd.concat([df['A'], df['B']])
print(df)
```
输出:
```
A B AB
0 foo baz foo
1 bar qux bar
0 NaN baz baz
1 NaN qux qux
```
pandas将两列数据合并为1列
在pandas库中,你可以使用`concat()`、`merge()`或者`join()`函数将两个DataFrame中的两列数据合并到一个新的列中。这里简单介绍几种常见方法:
1. **使用concat()**: 如果你想按照行方向合并,可以将这两列的数据放在单独的DataFrame对象里,然后指定`axis=1`(默认值),表示按列合并。
```python
df1 = pd.DataFrame({'Column1': [1, 2], 'Column2': [3, 4]})
df2 = pd.DataFrame({'Column1': [5, 6], 'Column3': [7, 8]})
merged_df = pd.concat([df1, df2[['Column1', 'Column3']]], axis=1)
```
2. **使用merge()**: 这通常用于基于共享索引或键的列进行连接。如果你想根据共享的列合并,并创建一个新的列,可以设置`on`参数,并指定结果列名。
```python
if 'shared_key' in df1.columns and 'shared_key' in df2.columns:
merged_df = pd.merge(df1, df2[['shared_key', 'Column3']], on='shared_key')
merged_df['NewColumn'] = merged_df['Column1_from_df1'] + merged_df['Column3']
```
3. **使用join()** (适用于字典-like对象):
```python
df1 = df1.set_index('shared_key') # 设置df1的某列为主键
merged_df = df1.join(df2.set_index('shared_key'), how='outer') # outer join保留所有行
merged_df['NewColumn'] = merged_df[df1.columns[0]] + merged_df[df2.columns[0]]
```
以上每种方法都假设你有一个共享的列作为合并的关键,如果没有,可能需要先进行一些数据预处理。
阅读全文