Pandas/Python 如何存储循环值
Posted
技术标签:
【中文标题】Pandas/Python 如何存储循环值【英文标题】:Pandas/Python how to store store looped values 【发布时间】:2021-04-17 13:51:10 【问题描述】:我正在尝试将多个代码循环到一个函数中,我可以成功打印结果,但是我无法存储它们,只输出最后一个元素。循环似乎覆盖了之前生成的值,您能建议吗?
import yfinance as yf
y = ['SBUX', 'ICE']
b =
for x in y:
ticker = yf.Ticker(x)
d = ticker.get_info()
for k, v in d.items():
if k == 'zip' or k == 'sector' or k == 'symbol':
b[k] = d[k]
print(b)
代码结果:
'zip': '98134', 'sector': 'Consumer Cyclical', 'symbol': 'SBUX'
'zip': '30328', 'sector': 'Financial Services', 'symbol': 'ICE'
如果 b 打印在代码之外的结果:
'zip': '30328', 'sector': 'Financial Services', 'symbol': 'ICE'
我希望能够打印代码外的 2 行
【问题讨论】:
【参考方案1】:您可以将它们附加到数据框:
import yfinance as yf
import pandas as pd
new_df = pd.DataFrame()
y = ['SBUX', 'ICE']
b =
for x in y:
ticker = yf.Ticker(x)
d = ticker.get_info()
for k, v in d.items():
if k == 'zip' or k == 'sector' or k == 'symbol':
b[k] = d[k]
new_df = new_df.append(b, ignore_index=True)
【讨论】:
您好,谢谢,但是我收到以下消息: ValueError: If using all scalar values, you must pass an index 感谢它的工作!你知道为什么使用列表而不是数据框不起作用吗? 因为您从每次循环运行开始创建字典。您需要将其附加到数组或数据框(如我的解决方案)以上是关于Pandas/Python 如何存储循环值的主要内容,如果未能解决你的问题,请参考以下文章
在特定日期循环 Dataframe Pandas Python