【问题标题】:How to rename each dataframe as stock name from yfinance如何从 yfinance 将每个数据框重命名为股票名称
【发布时间】:2021-03-24 11:45:33
【问题描述】:

这是我的代码,但它不起作用。

import pandas as pd
import yfinance as yf

stock_list = ['TSLA','DDOG','NET','MSFT','AAPL']
df_list=[]
for stock in stock_list:
    str(stock)_df = yf.download(stock, '2020-01-01')
    df_list  = df_list.append(df)

非常感谢

【问题讨论】:

标签: python pandas dataframe yfinance


【解决方案1】:

我不知道你的代码到底应该做什么,但我看到的是:

df_list=[]
for stock in stock_list:
    ...
    df_list  = df_list.append(df)

.append() 方法返回 None,因此在循环中将 None 分配给 df_list 是错误的来源。

【讨论】:

    【解决方案2】:

    可以使用列表,但更容易添加股票名称并将数据框链接在一起。

    import pandas as pd
    import yfinance as yf
    
    stock_list = ['TSLA','DDOG','NET','MSFT','AAPL']
    df_list= pd.DataFrame()
    for stock in stock_list:
        df = yf.download(stock, '2020-03-01')
        df['stock'] = stock
        df_list = pd.concat([df_list, df], axis=0)
    
    df_list.head()
    
        Open    High    Low     Close   Adj Close   Volume  stock
    Date                            
    2020-03-02  142.251999  148.738007  137.334000  148.723999  148.723999  100975000   TSLA
    2020-03-03  161.000000  161.395996  143.222000  149.102005  149.102005  128920000   TSLA
    2020-03-04  152.792007  153.304001  144.945999  149.899994  149.899994  75245000    TSLA
    2020-03-05  144.753998  149.149994  143.613998  144.908005  144.908005  54263500    TSLA
    2020-03-06  138.000000  141.399994  136.854004  140.695999  140.695999  63314500    TSLA
    

    【讨论】:

      猜你喜欢
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      • 2017-03-31
      相关资源
      最近更新 更多