繁体   English   中英

熊猫如何重塑包含重复列值的数据框

[英]Pandas how to reshape a dataframe containing duplicated values for columns

这是我的数据框:

       chr  value   region
      chr22     1   21-77
       chr6     3   12-65
       chr3     5   73-81
       chr3     8   91-96

这就是我需要的:

                       21-77    12-65   73-81   91-96
           chr22        1       0       0       0                           
           chr6         0       3       0       0
           chr3         0       0       5       8

请注意 ,初始数据帧的第一列包含重复值。 (例如chr3)

你能告诉我如何做到这一点。 提前致谢。

看起来像是pandasivot_table的完美应用。

值得强调的是,pivot_table使用numpy均值作为聚合函数(如果存在多个具有相同索引和列的观察值,因此默认情况下隐式要求数字(int / floats)作为值)。

frame为包含数据的pandas数据frame

import pandas as pd

cc = ['chr', 'value', 'region']
vals = [['chr22', 1, '21-77'],
       ['chr6',     3,   '12-65'],
       ['chr3',     5,   '73-81'],
       ['chr3',     8,   '91-96']]

frame = pd.DataFrame(vals, columns = cc)

result = pd.pivot_table(frame,
                        values = 'value', index = ['chr'], columns = ['region'],
                        fill_value = 0)

链接有帮助吗?

为了将来参考,请在发布问题之前进行研究,因为可能已经有可以帮助您的答案,或者也许已经有人解决了您遇到的相同问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM