在运行python代码时出现奇怪的错误?

时间:2019-04-07 16:42:53

标签: python dataframe

我正在运行以下代码,但是python给出了一些以前从未给出过的奇怪错误:

 for i in range(len(df)):
    if df['event_name'][i] == 'subcategory_click':
        df.at[i,'subcategory_navigation']=1

输入:

user_id event_name
10     psuedo_App_start
10     subcategory_click
10     subcategory_click
10     subcategory_click
10     product_search
10     product_search
10     product_search

所需的输出:

user_id event_name  subcategory_navigation
10     psuedo_App_start     0
10     subcategory_click    1
10     subcategory_click    1
10     subcategory_click    1
10     product_search       0
10     product_search       0
10     product_search       0

PFA错误图像: enter image description here

4 个答案:

答案 0 :(得分:0)

此错误似乎是说df不包含名为'event_name'的密钥。该错误也可能是由于i中不存在df['event_name'],但您似乎希望该集合是列表,而不是地图。

我认为您的逻辑存在潜在问题。您基于df的长度进行迭代,但是随后在循环df['event_name']中引用了另一个列表。我看不到这两个列表的长度应该在哪里相关。您可能想要for i in range(len(df['event_name'])吗? -从您的代码来看,df的长度似乎不是一个有价值的数量,因为它是一个映射,并且您是在明确引用该映射的键。

很难知道发生了什么,因为您没有向我们展示df是什么。我建议您在调试器中运行代码,在该行上停止,然后查看df包含的内容。

答案 1 :(得分:0)

# pkg upgrade -n
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (251 candidates): 100%
Processing candidates (251 candidates): 100%
The following 250 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
ImageMagick-6.9.9.28_2,1

New packages to be INSTALLED:
xkeyboard-config: 2.24_1
...
Number of packages to be removed: 1
Number of packages to be installed: 9
Number of packages to be upgraded: 195
Number of packages to be reinstalled: 45

应该做的事

答案 2 :(得分:0)

尝试在if语句中切换['event_name']和[i]

答案 3 :(得分:0)

df.reset_index(inplace = True)..我在for循环之前使用了它,以某种方式起作用了