我有一个Excel工作簿,在同一张工作表上有相同结构的表格。我做了一个循环来读取它们:
for usecols in['A:L','N:Y']:
df = pd.read_excel(r"Frequency_CI_extracted.xlsx",
usecols=usecols, skiprows=3,
sheet_name = 'Quantiles_CI_inches')
第一次迭代的结果数据框(即usecols="A:L"
)返回一个带有excel工作簿中标题的数据框。当循环进行到第二次迭代时,结果数据框的每个列名都有一个.1
后缀。
有人能解释这种行为吗?
pd.__version__
Out[9]: '1.0.3'
2条答案
按热度按时间qyuhtwio1#
当 Dataframe 中有两个相同的列名时,就会发生这种情况。
z2acfund2#
在我的代码中,当我在小写版本之后添加了一个大写版本的列名,然后强制所有列名都小写时,就发生了这种情况。
df.columns
给予
['this',' that ',' thethird','thethird.1']
检查在另一个函数中是否发生了类似这样的列名调整,或者在阅读列名之间是否调用了类似这样的列名调整