gpt4 book ai didi

python - 对多个 pandas 数据框执行列重命名和切片

转载 作者:行者123 更新时间:2023-11-30 22:20:37 26 4
gpt4 key购买 nike

示例

import pandas as pd
d = {'col1': [1,"newcolumn1name",5, 8,15 ], 'col2':[5,"newcolumn2name"10,15, 20]}
df = pd.DataFrame(data=d)
df1=df
df2=df

df
Out[24]:
col1 col2
0 1 5
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20

我想对此示例执行的操作是删除第一行并使用第二行的字符串重命名列。

我可以使用以下代码来完成此操作(这里是完整的 python 新手):

df=df[1:]
new_header = df.iloc[0]
df=df[1:]
df.columns = new_header

df
Out[26]:
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20

现在我希望能够在 df1 和 df2 上执行此操作,如示例中所定义。我尝试过列表、字典和 map ,但都遇到了问题。

有人能想到最简单的方法吗?在我的真实数据上,我将有六到十个数据帧(~1000x8000)来运行它。

最佳答案

IIUC

l=[df1,df2]

[ d[1:].T.set_index(1).T for d in l]


Out[221]:
[1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20, 1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20]

更新

l=[df1,df2]
df1,df2=[ d[1:].T.set_index(1).T for d in l]
df1
Out[226]:
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20
df2
Out[227]:
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20

更新2

variables = locals()
for x,d in enumerate(l):
variables["df{0}".format(x+1)]=d[1:].T.set_index(1).T
df1
Out[231]:
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20
df2
Out[232]:
1 newcolumn1name newcolumn2name
2 5 10
3 8 15
4 15 20

关于python - 对多个 pandas 数据框执行列重命名和切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48794940/

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