gpt4 book ai didi

python - Pandas read_excel 保留 A :Z column names

转载 作者:太空宇宙 更新时间:2023-11-03 14:01:25 25 4
gpt4 key购买 nike

使用read_excel 将excel 文件导入pandas 时,我想保留excel 的列名和行名。即,我希望我的列被命名为“A”、“B”、...“Z”、“AA”、“AB”等,以及从 1 开始的行。

有什么好的方法吗?

最佳答案

您需要自定义 mappings并将其应用于重命名:

np.random.seed(100)
df = pd.DataFrame(np.random.randint(10, size=(5,5)))
print (df)
0 1 2 3 4
0 8 8 3 7 7
1 0 4 2 5 2
2 2 2 1 0 8
3 4 0 9 6 2
4 4 1 5 3 4

def colToExcel(col): # col is 1 based
excelCol = str()
div = col
while div:
(div, mod) = divmod(div-1, 26) # will return (x, 0 .. 25)
excelCol = chr(mod + 65) + excelCol

return excelCol

df = df.rename(index=lambda x: x+1, columns=lambda y: colToExcel(y+1) )
print (df)
A B C D E
1 8 8 3 7 7
2 0 4 2 5 2
3 2 2 1 0 8
4 4 0 9 6 2
5 4 1 5 3 4

替代方案:

def conv(num):
convStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" # Assign any base you'd like
b = len(convStr)
if num<b:
return convStr[num]
else:
return conv(num//b-1) + convStr[num%b]

df = df.rename(index=lambda x: x+1, columns=lambda y: colToExcel(y) )

关于python - Pandas read_excel 保留 A :Z column names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48763116/

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