如何将我的输出转换为带有索引的新表?蟒蛇3

问题描述

我显然是 Python 的初学者,请善待我。

我能够导入一家公司的现金流数据并汇总了 2 行,但是当我尝试打印 (df.columns()) 时出现错误“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.columns()) 因为熊猫系列没有列。在您的情况下,有一个索引(日期)和一个相应的值(FCF)。要将其转换为 DataFrame,您可以尝试以下操作:

new_df = df.reset_index()

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

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

感谢您的帮助,但还是不行

这是完整的代码

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)

回溯(最近一次调用最后一次): 文件“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'] 都没有在列中"