相关疑难解决方法(0)

在字典中获取最大值的密钥?

我有一个dictionary:键是字符串,值是整数.

例:

stats = {'a':1000, 'b':3000, 'c': 100}
Run Code Online (Sandbox Code Playgroud)

我想得到'b'一个答案,因为它是具有更高价值的关键.

我使用具有反向键值元组的中间列表执行以下操作:

inverse = [(value, key) for key, value in stats.items()]
print max(inverse)[1]
Run Code Online (Sandbox Code Playgroud)

这是一个更好(或更优雅)的方法吗?

python dictionary max

786
推荐指数
20
解决办法
74万
查看次数

迭代pandas中的行来检查条件

我在熊猫中有以下DF.

+-------+-------+
| Col_A | Col_B |
+-------+-------+
|  1234 |       |
|  6267 |       |
|  6364 |       |
|   573 |       |
|     0 |       |
|   838 |       |
|    92 |       |
|  3221 |       |
+-------+-------+
Run Code Online (Sandbox Code Playgroud)

Col_B应该填充True或False值.默认情况下,它是False,但是当第一个0被"看到"时,DF的其余部分应为True.DF有超过10万行.

由于Col_A中的第一个"0"值出现,因此将col_B中的值设置为"True"的最快方法是什么?

+-------+--------+
| Col_A | Col_B  |
+-------+--------+
|  1234 | False  |
|  6267 | False  |
|  6364 | False  |
|   573 | False  |
|     0 | True   |
|   838 | True   | …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

7
推荐指数
4
解决办法
362
查看次数

为什么numpy.argmax的所有False bool列表都产生零?

numpy.argmax用来计算True可以在布尔向量中找到的第一个索引。调用a pandas.Series给我系列索引,而不是元素索引。

我在代码中发现了一个细微的错误,当向量全为False时就会弹出;在这种情况下返回索引0似乎很危险,因为True很可能是True在第一个元素中的情况。此返回值的设计选择是什么?

>>> numpy.argmax([False,False,False])
0
>>> numpy.argmax([True, False, True])
0

>>> s = pandas.Series( [ False, False, False ] , index=[3,6,9] )
>>> numpy.argmax(s)
3
>>> s1 = pandas.Series( [ True, False, False ] , index=[3,6,9] )
>>> numpy.argmax(s1)
3
Run Code Online (Sandbox Code Playgroud)

python numpy

4
推荐指数
1
解决办法
1081
查看次数

使用 pandas 获取与条件匹配的值的索引

我有一本字典wrong_names、一个熊猫系列df['name']和一个空列表i_list

我想遍历df['name'],如果名称在 中wrong_names.keys(),我想将该元素的索引附加dfi_list. 这是我到目前为止所拥有的:

i_list = []
for pup in df['name']:
    if pup in wrong_names.keys():
    i_list.append(df.index.get_loc(pup))
i_list
Run Code Online (Sandbox Code Playgroud)

我已经看过 .get_loc 文档(pup 是正确的论点吗?),以及这些 SO 问题:

在 DataFrame 索引中查找标签位置

在熊猫系列中查找元素的索引

当我要求它做的只是附加pup到 时i_list,代码工作正常,所有迹象表明循环正确识别何时pup也是字典中的键,

i_list = []
for pup in df['name']:
    if pup in wrong_names.keys():
    i_list.append(pup)
i_list
Run Code Online (Sandbox Code Playgroud)

但我无法获得索引列表,这是我下一步所需要的。提前致谢。

python indexing append dataframe pandas

2
推荐指数
1
解决办法
1638
查看次数

标签 统计

python ×4

dataframe ×2

pandas ×2

append ×1

dictionary ×1

indexing ×1

max ×1

numpy ×1