python 之坑 使用pandas的dataframe行列不一致

本文介绍在使用Pandas库处理数据时如何正确组装DataFrame。通过实例演示了直接使用列表组成的常见错误,并给出了两种有效的解决方法:一是利用NumPy的转置功能,二是直接指定列名的方式创建DataFrame。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用pandas的dataframe进行处理时,特别要注意的地方

比如有三个列矩阵,我们想把a,b,c分别作为一个Series组成一个dataframe时

a = [1, 1, 1, 1]
b = [2, 2, 2, 2]
c = [3, 3, 3, 3]

如果打印一下会发现

print([a, b, c])

结果:

[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]

如果这样使用会报错

# print(pd.DataFrame([a, b, c], columns={"a", "b", "c"}))

原因是这样是行叠加在一起,会导致列数和columns的列数不一致

正确的两种做法:

1、使用numpy里的array进行转置

print(np.array([a, b, c]).T)

2、指定每一行的表名

print(pd.DataFrame({"a": a, "b": b, "c": c}))

结果第一种:

[[1 2 3]
 [1 2 3]
 [1 2 3]
 [1 2 3]]

第二种:

   a  b  c
0  1  2  3
1  1  2  3
2  1  2  3
3  1  2  3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值