我有一个熊猫数据框架,有两列:“IMO”和“LOAD_DATE”。 许多IMO有多个加载日期
我想创建另一个数据框,将所有日期作为索引,并为每个IMO创建新的列。每列都用“0”表示空日,用“1”表示加载日
输入文件:
| VESSEL_IMO | Date
1 | 9821 | 16-12-16
2 | 9821 | 20-12-16
3 | 9822 | 16-12-16
4 | 9822 | 17-12-16
5 | 9823 | 16-12-16
6 | 9823 | 18-12-16
7 | 9999 | 15-12-16
8 | 9999 | 18-12-16
9 | 9999 | 21-12-16
以下是迄今为止返回给我的代码示例:
索引器错误:索引超出范围
df = pd.DataFrame({'Date' : calendrier})
for namm in xl['AS_VESSEL_IMO'].unique():
df[namm] = 0
al_datt = xl[xl['AS_VESSEL_IMO'] == namm]['AS_LOAD_DATE']
df.ix[df['Date'].isin(al_datt), df[namm]] = 1
期望输出:
Date | 9821 | 9822 | 9823 |...| 9999
15-12-16 | 0 | 0 | 0 |...| 1
16-12-16 | 1 | 1 | 1 |...| 0
17-12-16 | 0 | 1 | 0 |...| 0
18-12-16 | 0 | 0 | 1 |...| 1
19-12-16 | 0 | 0 | 0 |...| 0
20-12-16 | 1 | 0 | 0 |...| 0
21-12-16 | 0 | 0 | 0 |...| 1
样本:
我认为您需要^{} ,如果使用聚合
max
重复groupby
:最后^{} :
使用^{} 或^{} 的另一种解决方案:
相关问题 更多 >
编程相关推荐