问题标签 [pandas-loc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
20 浏览

python - 从数据框中删除有问题的值位于单独列表中的行

我有一个有问题的行列表,其中有一个唯一标识符,我想从数据框中删除所有这些行。

我尝试使用 loc 来索引它们,如下所示:

其中 df 是 5063 行 x 28 列,toDel['GUID'] 是我要从 df 中删除的 GUID 列表。

我希望这会给我一个不包含有问题的行的df。但是,我得到一个“valueError:只能比较标签相同的系列对象”。我想这意味着它们必须是相同大小的系列,但是如何使用这个 toDel['GUID'] 列表摆脱有问题的 GUID?

0 投票
1 回答
9749 浏览

python - 使用 loc 在 pandas 数据框中设置值 - 多个选择条件允许在不同列中设置值

我有一个包含多列和多行的数据库。我想在满足列子集的某些条件的数据库行中找到,如果它满足该条件,则更改同一行中不同列的值。

我正在使用以下数据库进行原型设计

这给出了以下结果:

我想将索引第 2 行更改为读取 5、5、'hello',而不更改数据帧的其余部分。

我可以在设置值时执行 Pandas.loc 文档中的示例。我可以设置与可调用条件匹配的行、列和行。但是电话是在单个专栏或系列上进行的。我要两个。

而且我发现了许多 stackoverflow 答案,这些答案使用 loc 在单个列上设置第二列中的值来回答问题。那不是我的问题。我想搜索两列数据。

以下允许我获得我想要的行:

而且我知道只是将等号 (== 'current') 更改为 (= 'current') 会给我一个错误。

当我在两列上选择时,我可以设置列(见下文),但两列都会设置。('arghh') 并且当我尝试测试 'max_speed' 的值时,我得到一个 false is not in index 错误。

我在尝试解释 Python 的布尔问题时也遇到了错误。坦率地说,我只是还不了解整个超载。

0 投票
1 回答
224 浏览

python - loc,iloc,apply之间的区别?

您能描述一下:loc、iloc 和 apply 之间的区别吗?最好基于示例。 df.loc df.iloc df.apply()

0 投票
1 回答
191 浏览

python - Python loc + isin 返回 FutureWarning(元素比较失败)

上面的代码给了我一个 FutureWarning,我无法解决它。这是错误还是功能?

C:\Users\Username\AppData\Local\Continuum\anaconda3\lib\site-packages\numpy\lib\arraysetops.py:569:FutureWarning:逐元素比较失败;而是返回标量,但将来将执行元素比较掩码 |= (ar1 == a)

0 投票
0 回答
306 浏览

python - 函数内的 Python .loc VS 函数外的 Python .loc

我有一个非常具体的问题,关于“.loc”函数如何在后端工作时 1. 直接应用于 daraframe(例如 df.loc[]),而不是在定义的方法中使用,然后使用“df 。申请()”。

这是我正在使用的 MultiIndex 数据帧结构。

[我的数据框1 ]

上面的代码使用.loc没有行/列指示,只需传递外列标签,当应用于 DataFrame 时,返回正确的输出,即“deep_impressions”外列索引下的 2 列的总和。

但是,当应用相同的逻辑而不使用定义的方法时,我必须明确声明所有行,并且只有“deep_impressions”列被求和。

为什么 python 在定义方法中使用时不需要我显式声明 (.loc[:,"deep_impressions])?它在后端是如何工作的?

0 投票
1 回答
53 浏览

python - 从熊猫数据框中删除重复数据

我试图每隔几个小时检索一次数据,由于数据会有很多重复数据,我将删除所有具有相同日期的重复数据并保留第一个实例。这是我的代码:

data1 = data1.loc[data1.duplicated(keep='first'), :]这应该删除具有重复日期的行的 1 个实例,但是如果我运行代码 2 次,我仍然有两倍的行。

作为一个例子来展示我想要完成的事情:

正如您所看到的,正在附加数据,因此如上例所示,它被粘贴了 2 次。然而,当添加新数据时,将会有一个新的唯一条目。所以在这里我试图删除所有重复项以保留新条目。

如果我data1.loc[data1.index.duplicated(keep = 'last'), :]在另一个单元格中运行,我会得到: 在此处输入图像描述

所有条目都被删除。

0 投票
1 回答
158 浏览

python - 需要根据 loc 搜索从数据框中定位特定值

我正在使用这个数据框。我需要找到一个特定的索引号,并且根据inspect_date,我需要找到最新的名称。我尝试使用以下代码,但它不起作用:

last_name= df.loc[[50096379],['INSPECT_DATE','NAME']].max()['INSPECT_DATE']['NAME']

通过使用以下内容,我获得了最新的日期,但我不知道如何获得最新的名称:

last_name= df.loc[[50096379],['INSPECT_DATE','NAME']].max()['INSPECT_DATE']

0 投票
1 回答
89 浏览

python - 将第 1 列中的行值转换为变量,将第 2 列中的行值转换为变量的值

我目前有一个包含 4 列的数据框。我想使用第一列创建一个变量,第二列作为该变量的值。Col 1 命名为 Input,col 2 命名为 Value

产生变量应该是的值,但我必须指定变量 1、变量 2 等。

我想得到一个 for 循环,它返回“输入”作为新变量名,上面的代码作为该变量的值。

最终结果将是 Variable1 = 35 Variable2= 187

所以我可以做类似的事情

0 投票
1 回答
135 浏览

pandas - 计数不适用于我的数据框中的唯一元素,仅在重复时

我想计算数据框中出现的次数,我需要使用以下函数来计算:

但是,这仅适用于重复特定日期的情况。当日期只出现一次时它不起作用,我不明白为什么。我收到此错误:

也就是说,这对我来说真的没有意义,因为我得到了这个特定值的错误(它只在数据帧上出现一次):

但是,如果我运行这个,我不会收到错误:

为什么会这样???我不能使用第二个选项,因为我需要使用 for 循环。

更多信息,以防万一:问题似乎是,当我运行这个(不计算)时,输出只是一个数字:

for x in homicides_prec.reset_index().DATE[49:50].drop_duplicates(): count= homicides_prec.loc[x]['VICTIM_AGE'] print(count)

输出:33

因此,当我添加 .count 时,它不会接受该输入。我怎样才能解决这个问题?

0 投票
1 回答
40 浏览

python - 如何根据必须包含特定值的两列选择行?

我有一个数据集,在某个字段上有很多不正确的重复项,在我的可重现示例中,有不同颜色和形状的连续重复项。我有具有正确颜色和形状的实际数据框进行串行映射,并且需要选择正确的行。

例子:

然后,

我需要使用 'real' 在 'items' 中选择正确的行,所以预期的结果是: