标题:求问大神,pandas为某列添加数据时,提示值的长度与索引的长度不匹配应该怎 ...
只看楼主
a839892875
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-6-22
结帖率:0
已结贴  问题点数:20 回复次数:1 
求问大神,pandas为某列添加数据时,提示值的长度与索引的长度不匹配应该怎么处理?
如题,我先创建了一个只有columns的DataFrame

code_1 = pd.DataFrame(columns=all_industry)

code_1
Out[64]:
Empty DataFrame
Columns: [IT设备, 专用机械, 中成药, 乳制品, 互联网, 仓储物流, 供气供热, 保险, 元器件, 全国地产, 公共交通, 公路, 其他商业, 其他建材, 农业综合, 农用机械, 农药化肥, 出版业, 化学制药, 化工原料, 化工机械, 化纤, 区域地产, 医疗保健, 医药商业, 半导体, 商品城, 商贸代理, 啤酒, 园区开发, 塑料, 多元金融, 家居用品, 家用电器, 小金属, 工程机械, 广告包装, 建筑工程, 影视音像, 房产服务, 批发业, 摩托车, 文教休闲, 新型电力, 旅游景点, 旅游服务, 日用化工, 普钢, 服饰, 机场, 机床制造, 机械基件, 林业, 染料涂料, 橡胶, 水力发电, 水务, 水泥, 水运, 汽车整车, 汽车服务, 汽车配件, 渔业, 港口, 火力发电, 焦炭加工, 煤炭开采, 特种钢, 环境保护, 玻璃, 生物制药, 电信运营, 电器仪表, 电器连锁, 电气设备, 白酒, 百货, 石油加工, 石油开采, 石油贸易, 矿物制品, 种植业, 空运, 红黄酒, 纺织, 纺织机械, 综合类, 航空, 船舶, 装修装饰, 证券, 超市连锁, 路桥, 软件服务, 软饮料, 轻工机械, 运输设备, 通信设备, 造纸, 酒店餐饮, ...]
Index: []

接着,我为第一列“IT设备”添加了一组数据

code_1['IT设备'] = list(all[(all["industry"] == 'IT设备')].index)

code_1
Out[66]:
      IT设备 专用机械  中成药  乳制品  互联网 仓储物流 供气供热  ...    铜    铝   银行   陶瓷   食品   饲料   黄金
0   002351  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
1   300793  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
2   002635  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
3   002577  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
4   300045  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
5   603106  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
6   002180  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
7   300368  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
8   300042  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
9   000021  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
10  603025  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
11  688086  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
12  002152  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
13  002376  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
14  300130  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
15  300743  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
16  600100  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
17  300656  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
18  300802  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
19  603019  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
20  600271  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
21  002955  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
22  000977  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
23  300076  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
24  600601  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
25  300771  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
26  000066  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
27  002177  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
28  002308  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
29  603496  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
30  002866  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
31  300367  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
32  002528  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
33  300449  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN
34  600734  NaN  NaN  NaN  NaN  NaN  NaN  ...  NaN  NaN  NaN  NaN  NaN  NaN  NaN

然后,我想为第2列“专用机械”添加一组数据,却因为添加的这组数据超过了34行而被提示“Length of values does not match length of index”。

code_1['专用机械'] = list(all[(all["industry"] == '专用机械')].index)
ValueError: Length of values does not match length of index

请问应该怎么添加参数可以为第一列填充缺失值以使第二列能够顺利添加数据呢?
搜索更多相关主题的帖子: 添加 设备 长度 length Index 
2020-06-22 18:07
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:20 
你可以循环指定值来避免这样的情况
程序代码:
import pandas as pd
import numpy as np
df = pd.DataFrame(data = [['lisa','f',22],['joy','f',22],['tom','m','21']],index = [1,2,3],columns = ['name','sex','age'])
print(df)
df.at[4,"new"]=1
print(df)

   name sex age
1  lisa   f  22
2   joy   f  22
3   tom   m  21
   name  sex  age  new
1  lisa    f   22  NaN
2   joy    f   22  NaN
3   tom    m   21  NaN
4   NaN  NaN  NaN  1.0

2020-06-23 10:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-502234-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.480137 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved