当前位置: 首页 > 知识库问答 >
问题:

Python支持设置数据帧并重命名列

东明德
2023-03-14

下面是一个简单的数据帧示例:

import pandas as pd

d = dict(
    column1 = [1, 'a', 'foo'],
    column2 = [2, 'b', 'bar'],
    column3 = [3, 'c', 'baz'],
)
df = pd.DataFrame(data=d)
print(df)

与输出

  column1 column2 column3
0     1     2     3
1     a     b     c
2   foo   bar   baz

我想将其转置并重命名列:

df.do_some_manipulation('numbers', 'letters', 'words')

因此,输出将是

   numbers letters words
0        1       a   foo
1        2       b   bar
2        3       c   baz

转换方法不太好,那我该怎么办?

共有2个答案

丁阳炎
2023-03-14

试试这个:

df = df.T
df.columns = ['numbers', 'letters', 'words']
df = df.reset_index(drop = True)
甄志
2023-03-14

更好的选择是pd.DataFrame.from_dict索引定向:

pd.DataFrame.from_dict(d, orient='index', columns=['numbers', 'letters', 'words'])

         numbers letters words
column1        1       a   foo
column2        2       b   bar
column3        3       c   baz
 类似资料:
  • 以下脚本: Floor1正在正确执行,Floor2使用相同的df执行,但使用重命名的列则不正确。我得到一个关键错误: 我知道,有一个类似的问题:重命名列后get keyerror 但我并没有真正得到答案,更重要的是,我没有找到解决办法。

  • 我想将以下数据框的第1列重命名为“Ref”。我有很多列,因此无法重命名每个列或为每个列设置名称。 这是数据帧 现在我想将第一列重命名为'Ref'。我试过这个 它重命名所有标题与列[1]相似的列。

  • 我正在用PySpark DataFrames分析一些数据。假设我有一个正在聚合的数据帧< code>df: 这将给我: 聚合工作得很好,但我不喜欢新的列名。有没有办法将此列重命名为人类可以从方法中读取的内容?也许更类似于中的操作:

  • 我有麻烦重命名基于csv的数据帧的标头。 我得到了以下数据帧:df1: 现在我想根据csv文件更改列名(第一行),如下所示: 因此,我期望数据帧如下所示: 有什么想法吗?感谢您的帮助:)

  • 有没有比调用多个帧更好的方法来同时为给定的 SparkSQL 添加前缀或重命名所有或多个列? 例如,如果我想检测更改(使用完全外连接)。然后我剩下两个具有相同结构的< code >数据帧。

  • 假设是一个数据帧。 只接受名字 只接受整数(实际放置) 接受名称和整数: 当引用行时,只希望获得名称。例如 抛出一个错误,它不会返回“2”。 当引用列时,iloc更喜欢整数,而不是名称。例如 返回“三”,而不是2。(尽管返回)。 奇怪的是,我喜欢完全相反的功能。通常我的列名非常有意义,所以在我的代码中我直接引用它们。但是由于大量的观察清理,我的熊猫数据帧中的行名称通常不对应于。 我意识到我可以使用