[英]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.