gpt4 book ai didi

python - pandas 中的 [] 和 [[]] 有什么区别?

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

我对 pandas 中索引列的结果感到困惑。

两者

db['varname']

db[['varname']]

给我“varname”的列值。然而,看起来有一些细微的差别,因为 db['varname'] 的输出显示值的类型。

最佳答案

第一个查找特定的 Key在您的 df 中,是一个特定列,第二个是从 df 中进行子选择的列列表,以便它返回与列表中的值匹配的所有列。

另一个微妙的事情是,第一个默认情况下将返回 Series对象,而第二个返回 DataFrame即使您传递包含单个项目的列表

示例:

In [2]:
df = pd.DataFrame(columns=['VarName','Another','me too'])
df

Out[2]:
Empty DataFrame
Columns: [VarName, Another, me too]
Index: []

In [3]:
print(type(df['VarName']))
print(type(df[['VarName']]))

<class 'pandas.core.series.Series'>
<class 'pandas.core.frame.DataFrame'>

因此,当您传递列表时,它会尝试匹配所有元素:

In [4]:
df[['VarName','Another']]

Out[4]:
Empty DataFrame
Columns: [VarName, Another]
Index: []

但没有额外的[]那么这将引发 KeyError :

df['VarName','Another']

KeyError: ('VarName', 'Another')

因为您随后尝试查找名为:'VarName','Another' 的列不存在的

关于python - pandas 中的 [] 和 [[]] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33813223/

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