根据Pandas中的字段重复行

时间:2016-02-19 18:59:53

标签: python-2.7 pandas

我正在使用 Python数据分析库并拥有如下数据表:

Frequency

我想生成一个结果表,其中每个原始行出现具有由上面的Frequency字段指示的多重性。 1字段的新值应从+----------------+ | ID | Frequency | +----------------+ | AA | 1 | | AA | 2 | | AA | 3 | | AA | 4 | | BB | 1 | | BB | 2 | | CC | 1 | | CC | 2 | | CC | 3 | | DD | 1 | +----------------+ 开始增加,并以原始频率值结束。

NoErrorsPlugin

由于我不知道如何开始解决这个问题,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

var orders = root.SelectNodes("/tables/table[@tableName='Orders']/item[@table='Orders']");

答案 1 :(得分:1)

我认为有一种内置方式可以做到这一点;但是,我无法在文档中找到它。以下似乎对我有用......

>>> import pandas as pd
>>> d = pd.DataFrame([['AA',4],['BB',3],['CC',2],['DD',1]],columns=['id','frequency'])

>>> k=((' '+d.id)*d.frequency).apply(lambda x: pd.Series(x.split(' '))).stack()
>>> df = pd.DataFrame(k[(k.T != '')])

>>> df.reset_index(inplace=True)
>>> df.columns=['l0','frequency','id']

>>> df[['id','frequency']]
   id  frequency
0  AA          1
1  AA          2
2  AA          3
3  AA          4
4  BB          1
5  BB          2
6  BB          3
7  CC          1
8  CC          2
9  DD          1