gpt4 book ai didi

python - 在 pandas dataframe .loc 方法中,如何分配给变量以使其行为类似于 ":"?

转载 作者:行者123 更新时间:2023-12-01 08:19:03 25 4
gpt4 key购买 nike

我正在尝试创建一个接受列表并生成子集索引的函数。如果没有提供索引,我希望它返回整个索引。

我认为 Nonepandas 中适用于此,但显然不是......我正在使用 pandas '0.23.4'

我是否可以为切片方法提供另一个值,该值的作用类似于:df.loc[:,"sepal_length"],我可以将其分配给变量?我做不到 index=:

df = X_iris.copy()
print(df.columns, df.index[:5], "", sep="\n")
# Index(['sepal_length', 'sepal_width', 'petal_length', 'petal_width'], dtype='object')
# Index(['iris_0', 'iris_1', 'iris_2', 'iris_3', 'iris_4'], dtype='object')


def example(df, index):
result = df.loc[index,"sepal_length"]
print("index =", index, "works")
return result

example(df, "iris_0")
# index = iris_0 works
# 5.1
example(df, None)
# TypeError: cannot use label indexing with a null key

最佳答案

使用切片(无):

df
sepal_length sepal_width petal_length petal_width
iris_0 x x x x
iris_1 x x x x
iris_2 x x x x
iris_3 x x x x
iris_4 x x x x

df.loc['iris_0', "sepal_length"]
# 'x'

df.loc[slice(None), "sepal_length"]
iris_0 x
iris_1 x
iris_2 x
iris_3 x
iris_4 x
Name: sepal_length, dtype: object

在底层 NumPy 数组上建立索引时,您还可以使用省略号 (...):

# df.to_numpy()[..., df.columns.get_loc('sepal_length')]
df.values[..., df.columns.get_loc('sepal_length')]
# array(['x', 'x', 'x', 'x', 'x'], dtype=object)

关于python - 在 pandas dataframe .loc 方法中,如何分配给变量以使其行为类似于 ":"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54796983/

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