Python 如何通过从表中的行中获取名称来指定列

Python 如何通过从表中的行中获取名称来指定列,python,pandas,Python,Pandas,我想用行值重命名列名,但我需要使用行值中的列名子集,并仅更新其余列的列名,保持列名不变。如何在熊猫身上做到这一点 我尝试的是使用df.iloc我想要作为列名的特定行和列 df.columns = df.iloc[2, 11:62] 我只需要将索引11更改为62 但是脚本不起作用,它说长度不匹配 以下是示例输入和预期输出 输入与此类似 1 2 3 4 5 6 7 8 9 a b c d e f g h i 我预计只有4到8列的列名会更改 1 2

我想用行值重命名列名,但我需要使用行值中的列名子集,并仅更新其余列的列名,保持列名不变。如何在熊猫身上做到这一点

我尝试的是使用
df.iloc
我想要作为列名的特定行和列

df.columns = df.iloc[2, 11:62]
我只需要将索引11更改为62

但是脚本不起作用,它说长度不匹配

以下是示例输入和预期输出

输入与此类似

1  2   3   4   5  6  7  8   9
a  b   c   d   e  f  g  h   i
我预计只有4到8列的列名会更改

1  2   3   d   e  f  g  h   9
a  b   c   d   e  f  g  h   i

我怎样才能解决这个问题?提前感谢

我尝试创建一个示例数据框,并按照您的要求更改列,如果这是您想要的,请告诉我

import pandas as pd

raw_data = {'first_name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'], 
        'last_name': ['Miller', 'Jacobson', 'Ali', 'Milner', 'Cooze'], 
        'age': [42, 52, 36, 24, 73], 
        'preTestScore': [4, 24, 31, 2, 3],
        'postTestScore': [25, 94, 57, 62, 70]}
df = pd.DataFrame(raw_data, columns = ['first_name', 'last_name', 'age', 'preTestScore', 'postTestScore'])

row_values = list(df.iloc[0].values)
df_columns = list(df.columns)
new_columns = row_values[:2]+df_columns[2:]
df.columns = new_columns
只需根据需要更改
new_columns=row_values[:2]+df_columns[2:][/code>行。

您可以与
df.iloc
一起使用:

In [3091]: df
Out[3091]: 
   1  2  3  4  5  6  7  8  9
0  a  b  c  d  e  f  g  h  I
创建一个
字典
,其中包含索引
[3:8]
的列名和值,使用:

将此
dict
传递到
rename
方法:

In [3095]: df.rename(columns=cols_dict, inplace=True)

In [3096]: df
Out[3096]: 
   1  2  3  d  e  f  g  h  9
0  a  b  c  d  e  f  g  h  i

你能提供输入和期望的输出吗?很难从你提出的问题推断出答案box@yangyang请检查我的答案。@yangyang请投票,如果答案有效,请接受。
In [3095]: df.rename(columns=cols_dict, inplace=True)

In [3096]: df
Out[3096]: 
   1  2  3  d  e  f  g  h  9
0  a  b  c  d  e  f  g  h  i