Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 将行值与表中的列值匹配_Pandas_Pandas Groupby_Pivot Table_Data Manipulation - Fatal编程技术网

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