Pandas 将行值与表中的列值匹配
我想将“分类类型”列中的值与以下列中的值相匹配 我想要一个包含所有值的列表作为结果Pandas 将行值与表中的列值匹配,pandas,pandas-groupby,pivot-table,data-manipulation,Pandas,Pandas Groupby,Pivot Table,Data Manipulation,我想将“分类类型”列中的值与以下列中的值相匹配 我想要一个包含所有值的列表作为结果 Holding Period Classification Type Optimization & Gap Risk Directional Risk 0 Short Term Optimization & Gap Risk
Holding Period Classification Type Optimization & Gap Risk Directional Risk
0 Short Term Optimization & Gap Risk Frequency of Optimization Beta Calibration
1 Medium Term Directional Risk Frequency of Data Input for alpha model frequency of Beta or $ Rebalanciing
2 Long Term Concentration Ability to React to Change in Market Risk/Vol Is beta/$ neutrality controlled through index,...
我希望这能说明我想要什么。基本上是列中与“分类类型”列中的值具有相同名称的所有值的聚合。我将这样做 我将通过捕获列中的所有值作为列表,为这两个列创建一个字典
- 优化与缺口风险
- 定向风险
Holding Period Classification Type List
0 Short Term Optimization & Gap Risk ['Frequency of Optimization', 'Frequency of Data Input for alpha model', 'Ability to React to Change in Market Risk/Vol']
1 Medium Term Directional Risk ['Beta Calibration', 'frequency of Beta or $ Rebalanciing', 'Is beta/$ neutrality controlled through index, options or single name positions?']
2 Long Term Concentration NA
然后我将分类类型
列映射到字典。那会给你你想要的
完整代码为:
riskdict = {}
for col in df.columns[2:]:
riskdict[col] = df[col].tolist()
其输出将为:
riskdict = {}
for col in df.columns[2:]:
riskdict[col] = df[col].tolist()
df['List'] = df['Classification Type'].map(riskdict)
print (df)
请提供一个。我提供的数据框无法帮助您自己?优化和差距风险,方向风险是“分类类型”列中的值,而不是列名。您可以使用索引,
cols=list(df['Classification Type'].values)
,然后df[cols]
。
Holding Period ... List
0 Short Term ... [Frequency of Optimization, Frequency of Data ...
1 Medium Term ... [Beta Calibration, frequency of Beta or $ Reba...
2 Long Term ... NaN