【pandas】pd.concat(col_1,col_2,...,axis=1)后行错位

在项目中使用pandas处理数据时,通过pd.concat进行列拼接后发现行错位。原因是删除行后行索引不连续,而label编码后的列行索引重置为连续。解决方案是统一重置所有列的行索引,确保拼接时对齐。

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

项目场景:

  1. 使用pandas读取数据集为dataframe。
  2. 删除其中指定列的值为‘value’的行。
  3. 将待处理的每一列单独取出。例如:
    col_1 = data.loc[:,'col_1']
  4. 对数值为离散型的列执行label编码。例如:
    le = LabelEncoder()
    col_1= le.fit_transform(col_1)
    col_1= pd.DataFrame(col_1,columns=['col_1'])
  5. 使用pd.concat()将所有列拼接在一起组成新的数据集。

问题描述

出现了不该出现的NaN值,并且行索引不连续且最后一行的索引对不上结果的行数4603657,也对不上原始数据集的行数4603658。

正确情况下的结果的行数应为3706366行。并且在单独查看每列的行数时,每列都为3706366行。

                col_1      col_2  ...     col_19         col_20
0        1.525880e+09  1840724.0  ...        0.0            0.0
3        1.52
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值