我有一个csv文件,其中包含ID,时间及其距离,如下面的截图所示。 该文件包含某段时间间隔的行进距离。在python中是否有任何方法可以将所有“时间”列分组到该特定ID的一列中的所有“距离”列中。我的目标是在最后绘制特定ID的时间与距离。
或者python中是否有任何函数我可以绘制而不分组时间和距离列值。
我愿意接受任何建议:)
答案 0 :(得分:3)
我相信在read_excel
列名称发生更改后,可能会将.
拆分为MultiIndex
并重新使用stack
:
print (df)
ID Time(hr) Distance Km Time(hr).1 Distance Km.1 Time(hr).2 \
0 1 1 5 2 10 3
1 2 2 0 2 10 3
Distance Km.2
0 12
1 15
d = {'Time(hr)':'Time(hr).0','Distance Km':'Distance Km.0'}
df = df.set_index('ID').rename(columns=d)
df.columns = df.columns.str.split('.', expand=True)
df = df.stack().reset_index(level=1, drop=True).reset_index()
print (df)
ID Distance Km Time(hr)
0 1 5 1
1 1 10 2
2 1 12 3
3 2 0 1
4 2 11 2
5 2 15 3
一起使用{}
df.pivot(index='Time(hr)', columns='ID', values='Distance Km').plot()