gpt4 book ai didi

python - Pandas 申请获取KeyError :

转载 作者:行者123 更新时间:2023-12-03 08:08:23 27 4
gpt4 key购买 nike

我正在看Roman Pekar的这个答案用于使用申请。我最初完全复制了代码并且运行良好。然后我在从 csv 文件创建的 df3 上使用它,并得到一个 KeyError。我检查了我使用的列的数据类型是 int64,所以没关系。我没有空值。如果我能让这个工作正常,那么我会让这个功能变得更复杂。我该如何让它工作?

def fxy(x, y):
return x * y

df3 = pd.read_csv(path + 'test_data.csv', usecols=[0,1,2])
print(df3.dtypes)
df3['Area'] = df3.apply(lambda x: fxy(x['Len'], x['Width']))

追溯

Traceback (most recent call last):
File "f:\...\my_file.py", line 54, in <module>
df3['Area'] = df3.apply(lambda x: fxy(x['Len'], x['Width']))
File "C:\...\frame.py", line 8833, in apply
return op.apply().__finalize__(self, method="apply")
File "C:\...\apply.py", line 727, in apply
return self.apply_standard()
File "C:\...\apply.py", line 851, in apply_standard
results, res_index = self.apply_series_generator()
File "C:\...\apply.py", line 867, in apply_series_generator
results[i] = self.f(v)
File "f:\...\my_file.py", line 54, in <lambda>
df3['Area'] = df3.apply(lambda x: fxy(x['Len'], x['Width']))
File "C:\...\series.py", line 958, in __getitem__
return self._get_value(key)
File "C:\...\series.py", line 1069, in _get_value
loc = self.index.get_loc(label)
File "C:\...\range.py", line 389, in get_loc
raise KeyError(key)
KeyError: 'Len'

我没有找到附加 csv 文件的方法。下面是示例 df3,如果我使用 Excel 将下面的内容保存为“CSV(逗号分隔)(*.csv),我会得到相同的结果。

<表类=“s-表”><标题>ID长度宽度 <正文>一个1704B3625C1215D427E153F4649G7174

最佳答案

我认为您错过了 apply 上的 axis=1:

df3['Area'] = df3.apply(lambda x: fxy(x['Len'], x['Width']), axis=1)

但就您而言,您可以这样做:

df3['Area'] = df3['Len'] * df3['Width']
print(df3)

# Output
ID Len Width Area
0 A 170 4 680
1 B 362 5 1810
2 C 12 15 180
3 D 42 7 294
4 E 15 3 45
5 F 46 49 2254
6 G 71 74 5254

关于python - Pandas 申请获取KeyError :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71517804/

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