|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
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['代码'][i_row] & df['代码'][i_col]] = df.iloc[df['代码'][i_row],df['代码'][i_col]]
print(df['代码'][i_row] & df['代码'],df.iloc[df['代码'][i_row],df['代码'][i_col]])
不知为什么,它运行不了,请问大侠,有什么其它办法没,请指导,谢谢!
您好!看起来您希望将数据帧转换为字典,字典的键由“代码”列的值和其他列名组合而成,对应的值为行和列的交叉点的值。根据您提供的代码,我为您提供了一个修改后的解决方案。您可以尝试以下代码:
import pandas as pd
# 假设您的数据帧名为 df
fund_dic = {}
# 遍历数据帧的行
for index, row in df.iterrows():
# 遍历除"代码"列之外的所有列
for col in df.columns[1:]:
# 创建键名(由“代码”列的值和列名组合)
key = str(row['代码']) + col
# 将键名和对应的值添加到字典中
fund_dic[key] = row[col]
# 输出字典,以查看结果
print(fund_dic)
这段代码应该可以解决您的问题,将数据帧转换为所需的字典格式。如果您有任何疑问,请随时提问,我将竭诚为您服务!
|
|