python - 从 pandas 中的数据获取 header

标签 python pandas

我有这样的 python pandas 数据框,

           0     1     2     3     4     5     6     7     8
0        121     1     2     3     4     5     6     7     8
1        112     1     2     3     4     5     6     7     8
2        102     1     2     3     4     5     6     7     8
3        121     1     2     3     4     5     6     7     8
4  client_id  var1  var2  var3  var4  var5  var6  var7  var8
5        125     8     7     6     5     4     3     2     1

我的列标题在第5行,例如client_id等...,如何使这一行作为我的df列标题?

谢谢。

最佳答案

您可以使用:

df.columns = df.loc[4]
df = df.drop(4).reset_index(drop=True)
df.columns.name = None
print (df)
  client_id var1 var2 var3 var4 var5 var6 var7 var8
0       121    1    2    3    4    5    6    7    8
1       112    1    2    3    4    5    6    7    8
2       102    1    2    3    4    5    6    7    8
3       121    1    2    3    4    5    6    7    8
4       125    8    7    6    5    4    3    2    1

更加动态:

idx = df.index[df.iloc[:,0] == 'client_id']
print (idx)
Int64Index([4], dtype='int64')

df.columns = df.loc[idx.item()]
df = df.drop(idx).reset_index(drop=True)
df.columns.name = None
print (df)
  client_id var1 var2 var3 var4 var5 var6 var7 var8
0       121    1    2    3    4    5    6    7    8
1       112    1    2    3    4    5    6    7    8
2       102    1    2    3    4    5    6    7    8
3       121    1    2    3    4    5    6    7    8
4       125    8    7    6    5    4    3    2    1

关于python - 从 pandas 中的数据获取 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42454577/

相关文章:

python - 如何通过处理 nan 值添加新列

python - Django-Simple-Captcha 添加CSS

python:如何生成位图?

python - 基于 Pandas.DataFrame 创建类使用 pandas.read_csv() 函数初始化

python Pandas : cannot do slice indexing

python - 在不迭代的情况下向量化 Pandas DataFrame 上的乘法和字典映射?

python - 处理 panda to_datetime 函数中的时区

python - pandas 根据多个条件迭代行,然后从列中减去?

用于可视化模拟的 Python 框架

python - 线程数不影响磁盘读取速率?