首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python股票市场分析中的数据透视

Python股票市场分析中的数据透视
EN

Stack Overflow用户
提问于 2020-08-14 17:17:57
回答 2查看 155关注 0票数 0

我有蟒蛇字典

代码语言:javascript
复制
stockDict = {
    'Owned' : ['CTSH', 'GOOGL'],
    'Wishlist' : ['LAZY', 'CTSH', 'AAPL']
}

更新字典,使其具有不同数组大小的值。@Youness Sadaan的解决方案非常有效!

我想把它转换成数据格式,如下所示:

代码语言:javascript
复制
    stockCode   Remarks
0   CTSH        Owned
1   GOOGL       Owned
2   LAZY        Wishlist
3   CTSH        Wishlist
3   AAPL        Wishlist

我开始将字典转换成数据格式,并使用pivot_table来实现我所需要的。

代码语言:javascript
复制
stockDf = pd.DataFrame(columns = ["stockCode", "Remarks"])
df = pd.DataFrame([(k, *v) for k, v in stockDict.items()])
df.columns = ['Remarks'] + [f'stock{x}' for x in df.columns[1:]]
display(df)

关于如何实现我想要的输出,我陷入了困境。

代码语言:javascript
复制
pd.pivot_table(df, values=['stock1', 'stock2', 'stock3', 'stock4'], index=None, columns='Remarks', aggfunc='first')

给我以下内容:

代码语言:javascript
复制
Remarks Owned   Wishlist
stock1  CTSH    LAZY
stock2  GOOGL   AIRG
stock3  None    CLSK
stock4  None    CTSH

有人能帮忙吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-14 17:25:45

你错过了融化的一步。尝试下面的代码,然后简单地重命名您的列!

代码语言:javascript
复制
stockDict = {'Owned' : ['CTSH', 'GOOGL'],'Wishlist' : ['LAZY', 'AIRG', 'CLSK', 'CTSH']}
df = pd.DataFrame.from_dict(stockDict, orient = 'index')
df.T.melt()
票数 0
EN

Stack Overflow用户

发布于 2020-08-14 17:32:23

使用melt()函数会更好、更容易。

我编辑了您的代码以提供您想要的输出:

代码语言:javascript
复制
stockDict = {'Owned' : ['CTSH', 'GOOGL'],'Wishlist' : ['LAZY', 'AIRG', 'CLSK', 'CTSH']}


stockDf = pd.DataFrame(columns = ["stockCode", "Remarks"])
df = pd.DataFrame([(k, *v) for k, v in stockDict.items()])
df.columns = ['Remarks'] + [f'stock{x}' for x in df.columns[1:]]


df3=df.melt(id_vars=['Remarks'], value_vars=['stock1', 'stock2','stock3','stock4'],value_name='stockCode')[['Remarks','stockCode']]

df3=df3.sort_values(by=['Remarks'])

display(df3)

输出:

代码语言:javascript
复制
    Remarks stockCode
0     Owned      CTSH
2     Owned     GOOGL
4     Owned      None
6     Owned      None
1  Wishlist      LAZY
3  Wishlist      AIRG
5  Wishlist      CLSK
7  Wishlist      CTSH
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63417314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档