【问题标题】:How do I transform my output into a new table with an index? PYTHON 3如何将输出转换为带有索引的新表?蟒蛇3
【发布时间】:2021-07-13 01:21:37
【问题描述】:

我显然是学习python的初学者,请对我好。

我能够导入一家公司的现金流数据并将 2 行相加,但是当我尝试打印时出现错误“AttributeError: 'Series' object has no attribute 'columns' "

我的输出 (print(df)) 看起来像一个表格,但我想更好地理解它,创建新列等

Output:
endDate
2020-12-31    77078000.0
2019-12-31    -1902000.0
2018-12-31    -2222000.0
2017-12-31    53877000.0
dtype: float64 

那么如何创建具有 2 列(日期;FCF)的索引?

【问题讨论】:

  • 使用df=df.to_frame(),然后在使用df=df.set_index(['Date','FCF'])之后添加新列日期和FCF
  • 感谢您的帮助,但它仍然不起作用输出:回溯(最近一次调用最后一次):文件“C:/Users/lucas/PycharmProjects/pythonProject/valuation.py”,第 30 行,在 df =df.set_index(['Date','FCF']) 文件“C:\Users\lucas\anaconda3\lib\site-packages\pandas\core\frame.py”中,第 4551 行set_index raise KeyError(f"None of {missing} are in the columns") KeyError: "None of ['Date', 'FCF'] are in the columns"
  • 这里是完整代码 import yahoo_fin.stock_info as si import pandas as pd import requests import warnings warnings.filterwarnings('ignore') df = si.get_cash_flow('ETER3.SA') df = ( df.loc['totalCashFromOperatingActivities'] + df.loc['capitalExpenditures']) df = df.to_frame() df =df.set_index(['Date','FCF']) print(df) ----- -------------------------

标签: python-3.x pandas dataframe columnsorting


【解决方案1】:

您收到错误(df.columns()) 因为熊猫系列没有列。在您的情况下,有一个索引(日期)和一个相应的值(FCF)。要将其转换为 DataFrame,您可以尝试以下操作:

new_df = df.reset_index()

如果您不喜欢生成的列名,可以使用以下命令重命名列:

new_df.rename(columns = {'old_name1' : 'new_name1', 
                         'old_name2' : 'new_name2'}) 

【讨论】:

  • 对不起,没用我重置索引并打印,结果和我之前尝试打印 print(new_df.columns()) 检查新名称之前一样,但仍然是错误:
【解决方案2】:

感谢您的帮助,但它仍然不起作用

这是完整的代码

import yahoo_fin.stock_info as si
import pandas as pd
import requests
import warnings
warnings.filterwarnings('ignore')


df = si.get_cash_flow('ETER3.SA')


df = (df.loc['totalCashFromOperatingActivities'] + df.loc['capitalExpenditures'])

df = df.to_frame()
df =df.set_index(['Date','FCF'])

print(df)

Traceback(最近一次调用最后一次): 文件“C:/Users/lucas/PycharmProjects/pythonProject/valuation.py”,第 30 行,在 df =df.set_index(['日期','FCF']) 文件“C:\Users\lucas\anaconda3\lib\site-packages\pandas\core\frame.py”,第 4551 行,在 set_index raise KeyError(f"列中没有 {missing}") KeyError:“['Date', 'FCF'] 均不在列中”

【讨论】:

    猜你喜欢
    • 2017-01-06
    • 2018-03-03
    • 2022-06-17
    • 2021-02-11
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多