我只能用切片 window 来切片我的 pandas 数据帧,例如 [0:1] 以获得特定的行,做 [0 会引发 KeyError 为什么?
I can only slice my pandas dataframe with a slicing window such as [0:1] to get a specific row, doing [0 raises a KeyError why?
我有一个数据框 df
。
type(df) # pandas.core.frame.DataFrame
df[0] # KeyError 0
df[0:1] # Gives row 0 as expected
这是怎么回事?很抱歉,我来自 R 背景,过去曾用 Python 做过一些工作,但认为这是可能的。我错过了什么?
你很接近!如果您使用 .iloc,它将 return 您所期望的。所以对于这种情况你会是
first_row = df.iloc[0]
当您执行 df[0]
时,它正在寻找名为 0 的列。
参考:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.iloc.html
我有一个数据框 df
。
type(df) # pandas.core.frame.DataFrame
df[0] # KeyError 0
df[0:1] # Gives row 0 as expected
这是怎么回事?很抱歉,我来自 R 背景,过去曾用 Python 做过一些工作,但认为这是可能的。我错过了什么?
你很接近!如果您使用 .iloc,它将 return 您所期望的。所以对于这种情况你会是
first_row = df.iloc[0]
当您执行 df[0]
时,它正在寻找名为 0 的列。
参考:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.iloc.html