首页 > 解决方案 > 用于格式化熊猫数据框的循环

问题描述

这是我为我的问题中的任何错误道歉的第一篇文章。我最近才开始学习编码(自隔离开始以来,哈哈。)

我正在尝试自动操作熊猫数据框

    # First I get the data for my etf
    SOXX = web.DataReader('SOXX', 'yahoo', start, end)

    # I now want to do the following to it
    SOXX = pd.DataFrame(SOXX['Adj Close'])
    SOXX.columns = ['SOXX']

我试过for循环,不能让它们工作。尝试定义一个函数,也没有用!

我真正想做的是,传入一个etf名称列表,让它下载列表中每个etf的所有数据,并在一个循环中以我想要的方式格式化每个etf。

标签: pythonpandasdataframefor-loopautomation

解决方案


如果我希望使用某种函数来操作列,我将使用一个名为 apply 的 pandas 函数。请参见下面的示例:

from yahoo_fin import stock_info as si
import pandas as pd

data = {'Symbol':['GOOG','AAPL'], } 

# Create DataFrame 
df = pd.DataFrame(data) 

def applyFunction(row):
    return si.get_live_price(row['Symbol'])

df['stockPrice'] = df.apply(applyFunction, axis=1) #axis=1 for column apply

决赛桌看起来像

Symbol | stockPrice
GOOG     XXXX.XX
AAPL     XXXX.XX

希望有帮助!


推荐阅读