根据 python 中的分类值数据框提取新列并填充值
extract new columns and fill values based on categorical values data frame in python
我有一个数据框,其中一列是分类字符串,下一列是与之对应的值:
df = pd.DataFrame(list((['a', 'b', 'c', 'buy', 5],
['f', 'b', 'a', 'buy', 2],
['a', 'b', 'c', 'sold', 6],
['a', 'b', 'f', 'buy', 4],
['a', 'b', 'c', 'returned', 'yes'])), columns = ['attr1', 'attr2','attr3','status','value'])
我想基于 df.status
列创建新列,并用 np.nan
填充空列,需要对多个列进行透视:
我正在寻找适用于大型数据帧的高效解决方案。
你想要:
In [255]: df.pivot(index=['attr1', 'attr2', 'attr3'],columns='status', values='value').rename_axis(None, axis=1).reset_index()
Out[255]:
attr1 attr2 attr3 buy returned sold
0 a b c 5 yes 6
1 a b f 4 NaN NaN
2 f b a 2 NaN NaN
我有一个数据框,其中一列是分类字符串,下一列是与之对应的值:
df = pd.DataFrame(list((['a', 'b', 'c', 'buy', 5],
['f', 'b', 'a', 'buy', 2],
['a', 'b', 'c', 'sold', 6],
['a', 'b', 'f', 'buy', 4],
['a', 'b', 'c', 'returned', 'yes'])), columns = ['attr1', 'attr2','attr3','status','value'])
我想基于 df.status
列创建新列,并用 np.nan
填充空列,需要对多个列进行透视:
我正在寻找适用于大型数据帧的高效解决方案。
你想要:
In [255]: df.pivot(index=['attr1', 'attr2', 'attr3'],columns='status', values='value').rename_axis(None, axis=1).reset_index()
Out[255]:
attr1 attr2 attr3 buy returned sold
0 a b c 5 yes 6
1 a b f 4 NaN NaN
2 f b a 2 NaN NaN