gpt4 book ai didi

python - 使用 for 循环获取 ValueError : Length of values does not match length of index 的格式

转载 作者:行者123 更新时间:2023-12-01 02:02:51 25 4
gpt4 key购买 nike

我使用以下代码:

string="Verificamos {} vem crescendo em media {} porcento ao ano. A empresa {} por exemplo {}"
df['go']=[string.format(*r) for r in dfcres[['CNAE_x','Crescimento_t11_Peers_CNAE','Top_Cres1','Top_Cres1%']].values.tolist()]

如果我打印dfcres[['CNAE_x','Crescimento_t11_Peers_CNAE','Top_Cres1','Top_Cres1%']],我得到:

         CNAE_x     Crescimento_t11_Peers_CNAE    Top_Cres1   Top_Cres1%
6 "bovinos" 0.10 "Maria Ltd" 0.22
8 "suínos" 0.08 "Carla Ltd" 0.10
9 "construção" 0.93 "Mark SA" 0.30

因此,df['go'] 应该如下所示:

  go
6 "Verificamos bovinos vem crescendo em media 0.10 porcento ao ano. A empresa Maria Ltd por exemplo 0.22"
8 "Verificamos suínos vem crescendo em media 0.08 porcento ao ano. A empresa Carla Ltd por exemplo 0.10"
9 "Verificamos construção vem crescendo em media 0.93 porcento ao ano. A empresa Maria Ltda por exemplo 0.30"

我收到此错误:

ValueError: Length of values does not match length of index

我不知道这个错误是什么意思。有人可以帮助或建议另一种方法来获得相同的结果吗?

最佳答案

你的Python版本是多少?它适用于我在 Python 3.6.4 上使用这个示例:

      CNAE_x  Outravar1   Crescimento_t11_Peers_CNAE    Top_Cres1   Top_Cres1% Outravar2   "bovinos"         12                         0.10  "Maria Ltd"         0.22    "vaca"    "suínos"       1575                         0.08  "Carla Ltd"         0.10   "porco""construção"        358                         0.93    "Mark SA"         0.30   "casas"

And coding:

>>> dfcres = pd.read_clipboard()
dfcres
CNAE_x Outravar1 Crescimento_t11_Peers_CNAE Top_Cres1 Top_Cres1% Outravar2
0 bovinos 12 0.10 Maria Ltd 0.22 vaca
1 suínos 1575 0.08 Carla Ltd 0.10 porco
2 construção 358 0.93 Mark SA 0.30 casas

但是,如果 df 的行数与 dfcresc 的行数不同,例如。

>>> df
CNAE_x Outravar1 Crescimento_t11_Peers_CNAE Top_Cres1 Top_Cres1% Outravar2
0 bovinos 12 0.10 Maria Ltd 0.22 vaca
1 construção 358 0.93 Mark SA 0.30 casas

那么您仍然会收到此消息错误。

如果您不确定两个数据帧是否具有相同的行数,则应该避免使用此方法。

如果我的猜测是正确的,df 是巴西经济事件 (CNAE) 的数据框架。因此,您可以使用 CNAE_x 作为唯一标识符,例如:

首先,创建列dfcres['go']:

dfcres['go']=[string.format(*r) for r in dfcres.loc[,'CNAE_x','Crescimento_t11_Peers_CNAE','Top_Cres1','Top_Cres1%']].values.tolist()]

然后连接具有相同 CNAE_x 值的数据匹配行:

pd.merge(df, dfcres,
how='right', on='CNAE_x')

关于python - 使用 for 循环获取 ValueError : Length of values does not match length of index 的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49418713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com