假设我有一个数据框,其国家/地区如下:
cc | temp
US | 37.0
CA | 12.0
US | 35.0
AU | 20.0
Run Code Online (Sandbox Code Playgroud)
我知道有一个pd.get_dummies函数可以将这些国家/地区转换为"单热编码".但是,我希望将它们转换为索引,以便我得到它cc_index = [1,2,1,3]
.
我假设有一种比使用get_dummies和numpy where子句更快的方法,如下所示:
[np.where(x) for x in df.cc.get_dummies().values]
使用'因子'在R中这样做有点容易,所以我希望大熊猫有类似的东西.
我有一个df,我按两列分组.我想按顺序计算每个组.下面的代码按顺序计算组中的每一行.这似乎比我想象的要容易,但无法弄清楚.
df = pd.DataFrame({
'Key': ['10003', '10009', '10009', '10009',
'10009', '10034', '10034', '10034'],
'Date1': [20120506, 20120506, 20120506, 20120506,
20120620, 20120206, 20120206, 20120405],
'Date2': [20120528, 20120507, 20120615, 20120629,
20120621, 20120305, 20120506, 20120506]
})
df['Count'] = df.groupby(['Key','Date1']).cumcount() + 1
Run Code Online (Sandbox Code Playgroud)
预期结果:
Date1 Date2 Key Count
0 20120506 20120528 10003 1
1 20120506 20120507 10009 2
2 20120506 20120615 10009 2
3 20120506 20120629 10009 2
4 20120620 20120621 10009 3
5 20120206 20120305 10034 4
6 20120206 20120506 10034 4
7 20120405 20120506 …
Run Code Online (Sandbox Code Playgroud)