Python 3.x 有没有办法在python中获取以下数据帧?
我有这样一个数据框:Python 3.x 有没有办法在python中获取以下数据帧?,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有这样一个数据框: ID Distance 100007 0 100007 0 100007 0 100007 0 100007 0 100007 0 100013 39.22 100013 39.21 100013 39.21 100013 39.20 100013 39.19 100013 39.19 100013 39.21 100019 20.28 100019 29.74 100019 29.70 100019 29.73 从上面的数据框中,我想
ID Distance
100007 0
100007 0
100007 0
100007 0
100007 0
100007 0
100013 39.22
100013 39.21
100013 39.21
100013 39.20
100013 39.19
100013 39.19
100013 39.21
100019 20.28
100019 29.74
100019 29.70
100019 29.73
从上面的数据框中,我想得到:
ID d1 d2 d3 d4 d5 d6 d7
100007 0 0 0 0 0 0
100013 39.22 39.21 39.21 39.20 39.19 39.19 39.21
100019 20.2 29.74 29.70 29.73
如何使用python 3实现这一点?请帮我做这个,提前谢谢
res = (df
.astype(str)
.groupby("ID")
.Distance.agg(",".join)
.str.split(",",expand=True)
)
res.columns = [ent+1 for ent in res.columns]
res.add_prefix("d")
d1 d2 d3 d4 d5 d6 d7
ID
100007 0.0 0.0 0.0 0.0 0.0 0.0 None
100013 39.22 39.21 39.21 39.2 39.19 39.19 39.21
100019 20.28 29.74 29.7 29.73 None None None
印刷品:
ID d1 d2 d3 d4 d5 d6 d7
0 100007 0.00 0.00 0.00 0.00 0.00 0.00 NaN
1 100013 39.22 39.21 39.21 39.20 39.19 39.19 39.21
2 100019 20.28 29.74 29.70 29.73 NaN NaN NaN
印刷品:
ID d1 d2 d3 d4 d5 d6 d7
0 100007 0.00 0.00 0.00 0.00 0.00 0.00 NaN
1 100013 39.22 39.21 39.21 39.20 39.19 39.19 39.21
2 100019 20.28 29.74 29.70 29.73 NaN NaN NaN
非常感谢,这正是我想要的!非常感谢,这正是我想要的!非常感谢你!非常感谢你!