futui 发表于 2023-4-15 09:19:12

想用数据帧形成字典,求大师帮忙,谢谢

df:
代码                 类型        成立日期                                  价值                    管理人        评级        成绩             标准差              风格          星级
000007        混合A-灵活        2001年10月18日0.9520(1.06%)        华夏           A        71                17.74%        中盘平衡        4
000009        混合型-偏股        2013年3月26日        2.0268(0.69%)        西部                B        77.5                21.26%        大盘平衡        4
000011        QDII                      2007年10月9日        1.8237(0.71%)        嘉实                        81                17.95%        大盘平衡        5
000013        混合型-灵活        2013年3月22日        16.6530(0.64%)        华夏                        77                19.26%        大盘价值        5
000015        QDII                      2004年8月11日        1.3100(1.08%)        财通                C        68                19.20%        大盘平衡        4
000017        指数型-股票        2013年3月27日        3.3620(0.18%)        长城                        75.25        17.66%        大盘平衡        4
000019        QDII                      2006年11月24日2.6760(0.56%)        华夏                A        70.75        20.47%        大盘平衡        4
000021        混合型-灵活        2013年4月12日        2.9120(1.39%)        富国                B        70.25        15.01%        大盘价值        4
000023        QDII                      2013年4月18日        1.1708(0.23%)        长城                        68.75       26.10%        大盘价值        0
000025        指数型-股票        2007年9月10日        2.7430(0.77%)        华夏                C        68                 24.68%        大盘平衡        4
000027        QDII                       2013年3月26日        3.9172(1.68%)        汇理                        73.5                 25.96%        大盘平衡        4
000029        QDII                      2007年10月9日        0.8400(-0.24%)        华夏                                         20.26%                4
000031        指数型-股票        2013年3月22日        1.9000(0.32%)        财通                A        73.5        1       6.18%        大盘价值        4
000033        QDII                       2004年8月11日        2.9180(-0.44%)        嘉实                B                        24.56%                4
000035        QDII                       2013年3月27日        2.5900(-0.50%)        嘉实                                          24.03%                4
000037        指数型              2013年3月19日        1.4481(0.62%)        华夏                F        82.5                16.83%        大盘平衡        5
000039        QDII                      2006年11月24日0.5638(-0.32%)        广发                                         29.01%                4
000041        混合型-灵活        2013年4月12日        2.5110(1.05%)        建信                D        77.75       18.89%        大盘平衡        5

想用上面的数据帧构成字典,具体是用代码列的代码和列名(代码列名除外)组合形成字典键名,其对应的行和列的交叉点的值作为字典的值,如:
键:000007类型
值:混合A-灵活
我的关键代码如下 :

    fund_dic = {}
    for i_row in range(len(list(df['代码']))):
      for i_col in range(1,len(df.columns)):
            fund_dic & df['代码']] = df.iloc,df['代码']]
            print(df['代码'] & df['代码'],df.iloc,df['代码']])

不知为什么,它运行不了,请问大侠,有什么其它办法没,请指导,谢谢!

isdkz 发表于 2023-4-15 10:12:10

您好!看起来您希望将数据帧转换为字典,字典的键由“代码”列的值和其他列名组合而成,对应的值为行和列的交叉点的值。根据您提供的代码,我为您提供了一个修改后的解决方案。您可以尝试以下代码:

import pandas as pd

# 假设您的数据帧名为 df
fund_dic = {}

# 遍历数据帧的行
for index, row in df.iterrows():
    # 遍历除"代码"列之外的所有列
    for col in df.columns:
      # 创建键名(由“代码”列的值和列名组合)
      key = str(row['代码']) + col
      # 将键名和对应的值添加到字典中
      fund_dic = row

# 输出字典,以查看结果
print(fund_dic)

这段代码应该可以解决您的问题,将数据帧转换为所需的字典格式。如果您有任何疑问,请随时提问,我将竭诚为您服务!
页: [1]
查看完整版本: 想用数据帧形成字典,求大师帮忙,谢谢