Python的自由排序案例

        有时候,当存在变量、列的数量较多,或者不同的 dataframe 中列的名称不完全一致等情况出现时,咱们不一定 会通过列名称来实现排序。
        在此这里分享一个实战案例,基于aksare包的数据。
#首先导入数据开源金融数据库接口
#AKShare 是基于 Python 的开源金融数据接口库,目的是实现对股票、期货、期权、基金、债券、外汇等金融产品和另类数据从数据采集,
# 数据清洗到数据下载的工具,满足金融数据科学家、数据科学爱好者在数据获取方面的需求。
import pandas as pd
import akshare as ak


#获取年份数据
stock_sse_summary = ak.stock_sse_summary()
print(stock_sse_summary)
print(type(stock_sse_summary))
print('-------------')
years = ['2021','2022','2022']
def fund_stock_holding(years,code):
    data = pd.DataFrame()
    for yr in years:
            df_tmp = ak.fund_portfolio_hold_em(code=code, year=yr)
            data = data.append(df_tmp)

    data['季度'] = data['季度'].apply(lambda x: x[:8])
    data['占净值比例'] = pd.to_numeric(data['占净值比例'])
    data = data.sort_values(['季度', '持仓市值'], ascending=[True, False])
    df = data.set_index(['序号', '季度']).stack().unstack([1, 2]).head(10)
      # df1.loc[:,(slice(None), [' 股 票 名 称 ',' 占 净 值 比 例 '])]
    df = df.loc[:, (slice(None), '股票名称')]
    df = df.droplevel(None, axis=1)
    df.columns.name = None
    df = df.reset_index()
        # df.index.name = None
    df['基金代码'] = code
    return df
df = fund_stock_holding(years, '005669')
print(df)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YHFHing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值