【发布时间】:2019-02-07 11:38:51
【问题描述】:
考虑一下df:
import pandas as pd, numpy as np
df = pd.DataFrame.from_dict({'id': ['A', 'B', 'A', 'C', 'D', 'B', 'C'],
'val': [1,2,-3,1,5,6,-2],
'stuff':['12','23232','13','1234','3235','3236','732323']})
问题:如何生成一个包含与唯一 id ({A, B, C}) 和
与df 一样多的行,例如对于与id==A 对应的列,其值为:
1,
np.nan,
-2,
np.nan,
np.nan,
np.nan,
np.nan
(即df.groupby('id')['val'].cumsum() 加入df 的索引的结果)。
【问题讨论】:
-
你的预期输出是什么?
-
一个 7 行乘 3 列的矩阵,其中第一列是问题中显示的那个。你需要另外两列吗?
-
上一个问题有问题,所以删除了?
-
我找到解决方案
print (df.mask(thos_cols.isnull().reindex(index=df.index, columns=df.columns, fill_value=False))),这需要什么? -
@user189035 嗯,所以它似乎需要一些不同的东西。
标签: python pandas join pandas-groupby