【问题标题】:Rename Dataframe columns based on cell values根据单元格值重命名数据框列
【发布时间】:2020-01-23 04:00:27
【问题描述】:

我需要根据数据框中特定索引点处的多个单元格值(字符串)的组合来重命名数据框中的列名。

我尝试使用 loc 和 iloc 来表示我想要添加并命名为新索引名称的单元格值。

OverallA1Y.columns = ['Overall Research Rank', 'Weighed Comm Rank', 'Analyst Name', 'Firm', 
                      'Weighted Comm Score', 'Overall Research Score', 'Weighed Comm Firm Vote Count',
                     OverallA1Y.loc[5,7]+OverallA1Y.loc[6,7], 'Weigted Comm Vote Count', 
                      'Overall Research Firm Vote Count']

我收到的错误是:

TypeError: cannot do label indexing on <class 'pandas.core.indexes.base.Index'> with these indexers [7] of <class 'int'>

知道如何连接/组合多个字符串值并相应地重命名列吗?

谢谢

【问题讨论】:

  • 一个想法,你需要用OverallA1Y.iloc[5,7]+OverallA1Y.iloc[6,7]按职位选择吗?
  • @jezrael iloc 工作!非常简单的小事。谢谢!

标签: python pandas dataframe


【解决方案1】:

您可以使用DataFrame.iloc 按职位搜索而不是loc

OverallA1Y.iloc[5,7]+OverallA1Y.iloc[6,7]

【讨论】:

    【解决方案2】:
    OverallA1Y.columns = ['Overall Research Rank', 'Weighed Comm Rank', 'Analyst Name',
                          'Firm', 'Weighted Comm Score', 'Overall Research Score',
                          'Weighed Comm Firm Vote Count',
    
                           str(OverallA1Y.iloc[ROW_INDEX_OF_CELL][COLUMN_NAME_OF_CELL])+
                           str(OverallA1Y.iloc[ROW_INDEX_OF_CELL][COLUMN_NAME_OF_CELL]),
    
    
                          'Weigted Comm Vote Count', 
                          'Overall Research Firm Vote Count']
    

    【讨论】:

    • 您的代码中的问题是访问单元格值,其次,转换您的单元格值以便将它们连接起来。希望对你有帮助谢谢。
    猜你喜欢
    • 1970-01-01
    • 2021-02-03
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 2022-11-27
    • 1970-01-01
    相关资源
    最近更新 更多