首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫的“loc对应功能”为"at to loc“

熊猫的“loc对应功能”为"at to loc“
EN

Stack Overflow用户
提问于 2017-12-12 18:03:33
回答 2查看 441关注 0票数 2

据我所知,我可以用at来确定特定单元格的值:

代码语言:javascript
复制
index = "a"
df.at[index,"some_list"] = []

请注意,不能使用loc,因为

代码语言:javascript
复制
df.loc[index,"some_list"] = []

导致错误

代码语言:javascript
复制
ValueError: Must have equal len keys and value when setting with an iterable

问题是,有时索引并不是唯一的,但我知道确切的iloc设置值。所以我需要做的是

代码语言:javascript
复制
df.iloc[some_number_1,some_number_2] = []

但这会导致

代码语言:javascript
复制
ValueError: Must have equal len keys and value when setting with an iterable

是否有一些与iloc的通信,以便我可以设置值?

例如

代码语言:javascript
复制
df.at_iloc[some_number_1,some_number_2] = []

谢谢。

注意:这个问题不是重复的,因为我需要loc的at变体,结果是iat.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-12 18:31:05

你在找iat

代码语言:javascript
复制
In [7]: df
Out[7]:
   0  1
a  1  9
b  7  7
a  2  0
c  1  8
b  6  7

In [8]: df.iat[0,1]
Out[8]: 9

你仍然需要循环,因为熊猫总是把它们当作序列而不是标量对待,所以它从来不干净地处理对象-dtype和使用list对象,所以这样的事情:

代码语言:javascript
复制
In [9]: for i, b in enumerate(df.index.get_loc('a')):
    ...:     if b:
    ...:         df.iat[i, 1] = []
    ...:

In [10]: df
Out[10]:
   0   1
a  1  []
b  7   7
a  2  []
c  1   8
b  6   7

同样,请注意对象-dtype的巨大红旗:

代码语言:javascript
复制
In [18]: df.dtypes
Out[18]:
0    object
1    object
dtype: object
票数 2
EN

Stack Overflow用户

发布于 2017-12-12 18:33:56

您必须小心地了解ilocloc之间的细微差别。

iloc在选择Pandas中的行时保持隐式python风格的索引。然而,loc使用Dataframe的显式索引。

尽管如此,在知道使用iloc的自然排序时,要更改dataframe记录的值,您可以简单地这样做:

代码语言:javascript
复制
df.iloc[some_number_1] = some_number_2

举个例子

代码语言:javascript
复制
import pandas as pd
a = pd.DataFrame({'a': [1, 3, 5, 7, 9], 'b': [2, 4, 6, 8, 0]},
                  index = [1,3,4,4,5])

   a  b
1  1  2
3  3  4
4  5  6
4  7  8
5  9  0

假设我们希望使用iloc更改第一个自然索引的值

代码语言:javascript
复制
a.iloc[1] = [12, 13]

    a   b
1   1   2
3  12  13
4   5   6
4   7   8
5   9   0
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47778895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档