当我像这样使用 concat 创建数据框时:
import pandas as pd
dfa = pd.DataFrame({'a':[1],'b':[2]})
dfb = pd.DataFrame({'a':[3],'b':[4]})
dfc = pd.concat([dfa,dfb])
然后我尝试像对任何其他 DataFrame 一样进行引用,我得到以下结果:
>>> dfc['a'][0]
0 1
0 3
Name: a, dtype: int64
我希望我的串联 DataFrame 表现得像一个普通的 DataFrame 并返回我想要的整数,就像这个简单的 DataFrame 所做的那样:
>>> dfa['a'][0]
1
我只是一个初学者,是否有简单的解释说明为什么同一个调用返回整个 DataFrame 而不是我想要的单个条目?或者,更好的是,有一种简单的方法可以让我的串联 DataFrame 在我尝试引用它时像普通 DataFrame 一样响应吗?或者我应该使用 concat 以外的东西吗?
最佳答案
您误解了什么是正常行为。 dfc['a'][0]
是一个标签查找,匹配索引值为 0
的任何内容,其中有两个,因为您连接了两个数据帧,索引值包括0
。
为了指定0
的位置
dfc['a'].iloc[0]
或者你可以像这样构建dfc
dfc = pd.concat([dfa,dfb], ignore_index=True)
dfc['a'][0]
都返回
1
关于python - 为什么引用串联的 Pandas 数据框会返回多个条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39154230/