1. Python怎么转换Dictionary为DataFrame
import json
import pandas as pd
db = json.loads(open('pruItems.json', 'r').read())
pieces = []
for d in db:
if d['data']:
df = pd.DataFrame(d['data'])
df.columns = ['date', 'bid', 'ask']
df = df.set_index('date')
pieces.append(df)
df = pd.concat(pieces, axis=1, keys=[d['fund'] for d in db])
print df
TGC FEF FAF
bid ask bid ask bid ask
date
18/06/2013 34.8400 34.8400 14.9179 14.9179 6.6780 6.6780
17/06/2013 34.4900 34.4900 14.8712 14.8712 6.6510 6.6570
2. Python怎么转换Dictionary为DataFrame
转换方法:
import json
import pandas as pd
db = json.loads(open('pruItems.json', 'r').read())
pieces = []
for d in db:
if d['data']:
df = pd.DataFrame(d['data'])
df.columns = ['date', 'bid', 'ask']
df = df.set_index('date')
pieces.append(df)
df = pd.concat(pieces, axis=1, keys=[d['fund'] for d in db])
print df
TGC FEF FAF
bid ask bid ask bid ask
date
18/06/2013 34.8400 34.8400 14.9179 14.9179 6.6780 6.6780
17/06/2013 34.4900 34.4900 14.8712 14.8712 6.6510 6.6570
3. python 如何将一行十列的数据转换dataframe格式两行五列的数据
见样表截图
A3输入
=OFFSET($A$1,,COLUMN(A1)-1+(ROW(A1)-1)*5)
公式右拉再下拉
4. Python怎么转换Dictionary为DataFrame
如果你要添加一千条记录,不要一条一条的concate。可以试着每一百条组成一个小的dataframe,分十次粘上去,会快一点
5. Python怎么转换Dictionary为DataFrame
In [3]: import pandas as pdIn [4]: a = pd.Series([1,2,3])In [5]: b = pd.Series([2,3,4])In [6]: c = pd.DataFrame([a,b])In [7]: cOut[7]: 0 1 20 1 2 31 2 3 4不过pandas直接用列表生成dataframe只能按行生成,如果是字典可以按列生成
6. python dataframe提取index合并至列
因为你引用g.col[1:]的时候index没有变化,1,2,3,4对应的还是1,3,5,7。只是少了row 0 而已这样你用g.col[1:] - g.col[:]的时候,相减的并不是你想象的, pandas会找相同的index做运算。所以1,2,3,4位置对应的值都一长肌拜可之玖瓣雪抱磨样,减完就是0。 row 0位置没有可以减的,就是NaN。所以最后你得到Nan, 0,0,0,0. 使用shift可以把value沿着index往下Shift。
7. python dataframe多表如何通过索引融合成新表?
你这是要改变矩阵的纬度了,
改变维度要用reshape,把4×500变成1×2000
然后把三行合在一起好像是用vstack
8. python中对已经生成的Series,怎样组合成DataFrame
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体意思不好用文字来表述,直接看示例:
a = [100, 200, 300]b = [400, 500, 600]c = [700, 800, 900]abc = zip(a, b, c)
print(xyz)
结果是:[(100, 400, 700), (200, 500, 800), (300, 600, 900)]
所以对Series组合成DataFrame用zip函数就可以,代码示例:
DataFrame(list(zip(a, b)))
结果演示: