Pandas DataFrame:将唯一组件提取为列

我从 Bloomberg 中提取了 30 年来 SP500 的所有日常股票组成部分,数据帧中的索引为日期,行组成部分为股票。


现在我需要用日期作为索引和列作为股票转换这个数据框,以便再次将它传递给bloomberg api以检索所有股票详细信息


这是我需要做的一个例子:


我目前有这个:


pd.DataFrame([['A','B',np.nan],['A','B','C'],['B','C','D']])


   0  1    2

0  A  B  NaN

1  A  B    C

2  B  C    D

我希望得到这个:


pd.DataFrame([[True,True,False,False],[True,True,True,False],[False,True,True,True]],columns=['A','B','C','D'])

       A     B      C      D

0   True  True  False  False

1   True  True   True  False

2  False  True   True   True

非常感谢你的帮助


胡子哥哥
浏览 141回答 2
2回答

慕标琳琳

您可以使用pd.get_dummies:pd.get_dummies(df.stack()).max(level=0).astype(bool)输出:       A     B      C      D0   True  True  False  False1   True  True   True  False2  False  True   True   True

吃鸡游戏

您可以使用pd.get_dummies:pd.get_dummies(df.stack()).max(level=0).astype(bool)输出:       A     B      C      D0   True  True  False  False1   True  True   True  False2  False  True   True   True
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python