在Pandas DataFrame中串联列值,通常使用concat()函数可以将多列数据按照一定的方式连接起来,这里提供一些实例说明。
1. 简单的串联
我们先构造一个简单的DataFrame:
import pandas as pd
data = {'姓名': ['张三', '李四', '王五'],
'年龄': [20, 25, 30],
'城市': ['北京', '上海', '广州']}
df = pd.DataFrame(data)
DataFrame长这样:
姓名 年龄 城市
0 张三 20 北京
1 李四 25 上海
2 王五 30 广州
将“姓名”和“城市”两列的值串联在一起,可以使用concat()函数:
df_new = pd.concat([df['姓名'], df['城市']], axis=1)
axis参数指定了要拼接的轴,axis=1表示按列进行拼接,每个Series被拼接为一个DataFrame,结果如下:
姓名 城市
0 张三 北京
1 李四 上海
2 王五 广州
2. 同时串联多列
在上面的例子中,我们仅串联了两列数据,如果要串联多个列,例如将“姓名”、“年龄”和“城市”三列数据拼接在一起,可以将多个Series传递给concat()函数:
df_new = pd.concat([df['姓名'], df['年龄'], df['城市']], axis=1)
同样指定axis=1进行按列拼接,结果如下:
姓名 年龄 城市
0 张三 20 北京
1 李四 25 上海
2 王五 30 广州
3. 列名相同的DataFrame拼接
当有多个DataFrame需要拼接时,如果列名相同,可以使用concat()函数,将多个DataFrame沿着列方向拼接起来。下面我们构造两个列名相同的DataFrame,然后使用concat()函数将它们拼接起来:
data1 = {'姓名': ['张三', '李四'],
'年龄': [20, 25]}
df1 = pd.DataFrame(data1)
data2 = {'姓名': ['王五', '赵六'],
'年龄': [30, 35]}
df2 = pd.DataFrame(data2)
df_new = pd.concat([df1, df2], axis=0)
这里指定axis=0表示按行方向拼接,结果如下:
姓名 年龄
0 张三 20
1 李四 25
0 王五 30
1 赵六 35
4. 拼接多个DataFrame
如果需要同时拼接多个DataFrame,可以使用多个concat()函数。下面的例子是将三个DataFrame拼接在一起:
data1 = {'姓名': ['张三', '李四'],
'年龄': [20, 25]}
df1 = pd.DataFrame(data1)
data2 = {'姓名': ['王五', '赵六'],
'年龄': [30, 35]}
df2 = pd.DataFrame(data2)
data3 = {'姓名': ['钱七', '孙八'],
'年龄': [40, 45]}
df3 = pd.DataFrame(data3)
df_new = pd.concat([df1, df2, df3], axis=0)
这里仍指定axis=0表示按行方向拼接,结果如下:
姓名 年龄
0 张三 20
1 李四 25
0 王五 30
1 赵六 35
0 钱七 40
1 孙八 45
以上就是在Pandas DataFrame中串联列值的完整攻略,通过掌握concat()函数的使用,可以轻松实现DataFrame列的串联。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Pandas DataFrame中串联列值 - Python技术站