我有这样的数据框:
import pandas as pd
data = [{'id': 'Jones', 'tf': [(0, 0.5), (1,2.0)]},
{'id': 'Alpha', 'tf': [(1,2.0)]},
{'id': 'Blue', 'tf': [(2,0.1),(1,0.2)]}]
df = pd.DataFrame(data)
` 我希望以这种形式拥有数据框:
'id', 'var', 'value'
Jones, 0, 0.5
Jones, 1, 2.0
Alpha, 1, 2.0
Blue, 2, 0.1
Blue, 1, 0.2
我可以分两步完成:
i)不需要形成:id,0,1,2 - columns
id ,0 ,1 ,2
Jones,0.5,NaN,2.0
Alpha,NaN,2.0,NaN
Blue ,0.2,NaN,0.1
ii)用id
融化但步骤i)存在问题。我的数据集相当稀疏,因此对于NaN, unfsting会占用大量内存。
我正在寻找可以避免被取消的pandastic解决方案,并且它具有内存效率。
答案 0 :(得分:1)
应该快点
stop
spot
tops
ostp
opts
post
pots
答案 1 :(得分:0)
这是循环的方式。它不会很快,但需要的内存最少。
我使用query.endBefore
进行快速的基于整数的查找,因此如果您的数据框中有其他列,则需要小心。
.iat