如何迭代遍历pandas数据框,逐列返回一个项目

时间:2015-06-29 09:53:51

标签: python pandas

我有一个名为rollStocks的pandas数据框:

         roll_418_oe_2015-03-13, roll_419_oe_2015-03-20, roll_420_oe_2015-03-27
0,       BBG.XWBO.VIG.S,         BBG.XWBO.VIG.S,         BBG.XPAR.ACA.S,   
1,       BBG.XPAR.ACA.S,         BBG.XPAR.ACA.S,         BBG.XSTO.LUPE.S,   
2,       BBG.XSWX.ALPH.S,        BBG.XSWX.ALPH.S,        BBG.XSWX.ALPH.S,   
3,       BBG.XCSE.MAERSKB.S,     BBG.XCSE.MAERSKB.S,     BBG.XCSE.MAERSKB.S,   
4,       BBG.XBRU.GBLB.S,        BBG.XBRU.GBLB.S,        BBG.XSWX.SPSN.S,   
5,       BBG.XPAR.IPN.S,         BBG.XLIS.EDPR.S,        BBG.XBRU.GBLB.S,   
6,       BBG.XLON.BNZL.S,        BBG.XPAR.GFC.S,         BBG.XLON.BNZL.S, 

我需要迭代每列(一次一列),获取列中的每个条目,并从与条目名称相同的文件中检索时间序列数据,并将此数据输入另一个数据帧,然后我将在一个过程中使用。第一列完成后,我将转到rollStocks数据帧的下一列并执行相同的操作,直到我到达rollStocks数据帧的末尾。

有人可以告诉我如何遍历rollStocks数据框中的每一列以获取列中的每个项目,从而允许我获取列中每个项目的时间序列并处理该数据,然后再转到下一个rollStocks列上?

我试过了

for colEntry in rollStocks.columns:
            colStock = rollStocks.loc[:,colEntry]

但这只是遍历整个数据框中的所有列,而不允许我一次处理一列数据。

1 个答案:

答案 0 :(得分:1)

如果你想处理df中的每个元素来读取csv,那么以下内容应该有效:

for col in rollStocks: 
    for row in rollStocks[col]: 
        colSock = pd.read_csv(row)

或者,您可以拨打applymap

rollStocks.applymap(pd.read_csv)

以上假设默认参数和路径是可接受的