来自函数的Python3.4 Pandas DataFrame

时间:2015-05-04 19:13:09

标签: pandas python-3.4

我编写了一个从解析函数输出所选数据的函数。我正在尝试使用 pandas.DataFrame 将此信息放入DataFrame中,但我遇到了麻烦。

下面列出了标题以及function.head()数据输出

问题

如何将函数输出放在pandas DataFrame中,以便标题链接到输出

- TICK --------- ---------- NI ---------- CAPEXP GW ------------ --- OE --------------- ------- RE

输出

[' MMM',[' 4,956,000'],['(1,493,000)'],[' 7,050,000'] ,[' 13,109,000'],[' 34,317,000']]

[' ABT',[' 2,284,000'],['(1,077,000)'],[' 10,067,000'] ,[' 21,526,000'],[' 22,874,000']]

[' ABBV',[' 1,774,000'],['(612,000)'],[' 5,862,000'] ,[' 1,742,000'],[' 535,000']]

1 个答案:

答案 0 :(得分:0)

- 浏览每个项目(我假设数据是一个列表,每个元素都是上面显示的列表之一)

- 将第一个元素作为自动收报机,并使用translate将其余元素转换为数字以撤消字符串格式

- 每行制作一个DataFrame,然后在最后连接,然后转置

- 通过解析标题字符串设置列(我称之为标题)

dflist = list()
for x in data:
    h = x[0]
    rest = [float(z[0].translate(str.maketrans('(','-','),'))) for z in x[1:]]
    dflist.append(pd.DataFrame([h]+rest))
df = pd.concat(dflist, 1).T
df.columns = [x for x in headers.split('-') if len(x) > 0]

但这可能会有点慢 - 如果你能将你的输入变成更一致的格式会更容易。