保留重复的一些数据并添加到现有的python数据帧

时间:2017-05-10 21:17:56

标签: python-2.7 pandas duplicates nested-loops data-cleaning

我有一个问题,保留一些数据不重复,并希望将有价值的信息添加到数据框中的新列。

import pandas as pd
data = {'id':[1,1,2,2,3],'key':[1,1,2,2,1],'value0':['a', 'b', 'x', 'y', 'a']}
frame = pd.DataFrame(data, columns = ['id','key','value0'])
print frame

收率:

    id   key   value0
0   1    1     a
1   1    1     b
2   2    2     x
3   2    2     y
4   3    1     a

期望的输出:

    key   value0_0  value0_1    value1_0  
0   1     a         b           a
1   2     x         y           None

“id”列并不重要,但可以帮助进行迭代和分组。

我认为这可以适用于其他项目,在这些项目中您不知道一组键存在多少值。

1 个答案:

答案 0 :(得分:2)

function updateStackColor(alpha) { return function() { const x = this.x const color = Highcharts.color const colors = Highcharts.getOptions().colors this.series.chart.series.forEach((series, i) => { series.data.forEach(point => { const basePointColor = color(colors[i]) point.update({ color: alpha === 0 ? basePointColor.get() // set original color : point.x === x ? basePointColor.brighten(alpha).get() // brighten original color : basePointColor.brighten(-alpha).get() // dim orignal color }, false) }) }) this.series.chart.redraw(false) } } 包括set_indexcumcount

unstack

我正在质疑你的列标签,但这是一种使用二进制

的方法
frame.set_index(
    ['key', frame.groupby('key').cumcount()]
).value0.unstack().add_prefix('value0_').reset_index()

   key value0_0 value0_1 value0_2
0    1        a        b        a
1    2        x        y     None