python - 为什么引用串联的 Pandas 数据框会返回多个条目?

标签 python pandas concatenation

当我像这样使用 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/

相关文章:

python - cython中不同字符串的相同内存地址

python - 使用 python 比较数据集的列

python - 强制 .ix 返回 pandas 中的 DataFrame

python - Pandas 分组/透视数据,而一列的条目成为新标签

python - 如何连接/使用字符串在 python/pandas 中执行命令

python - 在 Yara 规则中使用 androguard 模块时出现内存错误

python - 正则表达式提取文件名的一部分

python - 在 seaborn 中绘制 datetime.time

excel - 需要将四个数字集连接成一个数字集,前导零完好无损

excel - If Then,满足条件时连接