gpt4 book ai didi

python - "corresponding function to iloc"作为 Pandas 的 "at to loc"

转载 作者:行者123 更新时间:2023-11-28 22:22:16 25 4
gpt4 key购买 nike

我知道我可以使用 at 稳健地设置特定单元格的值:

index = "a"
df.at[index,"some_list"] = []

请注意不能使用 loc,因为

df.loc[index,"some_list"] = []

导致错误

ValueError: Must have equal len keys and value when setting with an iterable

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

df.iloc[some_number_1,some_number_2] = []

但这会导致

ValueError: Must have equal len keys and value when setting with an iterable

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

例如

df.at_iloc[some_number_1,some_number_2] = []

谢谢。

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

最佳答案

您正在寻找iat:

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

你仍然需要以某种方式循环,使用 object-dtypes 和使用 list 对象永远不会干净,因为 pandas 倾向于将它们视为序列而不是标量,所以像这样:

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

再次注意对象数据类型的巨大危险信号:

In [18]: df.dtypes
Out[18]:
0 object
1 object
dtype: object

关于python - "corresponding function to iloc"作为 Pandas 的 "at to loc",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47778895/

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