dataframe多列合并成一列
时间: 2023-07-22 08:40:47 浏览: 55
可以使用 pandas 库中的 `apply()` 方法,将多列数据合并为一个新的列,例如:
```python
import pandas as pd
# 创建示例数据
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': ['d', 'e', 'f'], 'C': ['g', 'h', 'i']})
# 使用 apply() 方法合并多列为一列
df['new_col'] = df.apply(lambda x: ''.join(x), axis=1)
# 打印结果
print(df)
```
输出结果为:
```
A B C new_col
0 a d g adg
1 b e h beh
2 c f i cfi
```
在上面的示例中,使用 `apply()` 方法将每一行的数据进行拼接,得到了一个新的列 `new_col`。其中,`axis=1` 表示对每一行进行操作,`lambda x: ''.join(x)` 表示将每一行的数据按顺序拼接为一个字符串。
相关问题
pandas 中将多列合并成一列
你可以使用 pandas 的 `concat` 方法将多列合并成一列。具体操作如下:
假设你有以下的 DataFrame:
``` python
import pandas as pd
df = pd.DataFrame({'A': [1,2,3], 'B': [4,5,6], 'C': [7,8,9]})
print(df)
# 输出:
# A B C
# 0 1 4 7
# 1 2 5 8
# 2 3 6 9
```
现在你想将列 A、B、C 合并成一列:
``` python
new_col = pd.concat([df['A'], df['B'], df['C']])
print(new_col)
# 输出:
# 0 1
# 1 2
# 2 3
# 0 4
# 1 5
# 2 6
# 0 7
# 1 8
# 2 9
# dtype: int64
```
然后你可以将新的一列添加到 DataFrame 中,如下所示:
``` python
df['new_col'] = new_col
print(df)
# 输出:
# A B C new_col
# 0 1 4 7 1
# 1 2 5 8 2
# 2 3 6 9 3
# 0 1 4 7 4
# 1 2 5 8 5
# 2 3 6 9 6
# 0 1 4 7 7
# 1 2 5 8 8
# 2 3 6 9 9
```
现在你已经将多列合并成了一列,并添加到了原来的 DataFrame 中。
将多个series合并成一个dataframe
要将多个 Series 合并成一个 DataFrame,可以使用 pandas 库中的 concat() 函数。
以下是一个示例代码,演示如何将多个 Series 合并为一个 DataFrame:
```python
import pandas as pd
# 创建示例 Series
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
s3 = pd.Series([7, 8, 9])
# 使用 concat() 函数合并多个 Series
df = pd.concat([s1, s2, s3], axis=1)
# 打印合并后的结果
print(df)
```
在上述代码中,我们创建了三个示例 Series(s1、s2 和 s3),然后使用 concat() 函数将它们按列方向(axis=1)合并为一个新的 DataFrame(df)。
请根据你的实际需求修改代码中的 Series,并根据需要进行适当的调整。