簡體   English   中英

在python中分組不同的列

[英]Grouping different Columns in python

我有一個csv文件,其中包含ID,時間及其距離,如下面的屏幕截圖所示。 該文件包含某個時間間隔的行進距離。 python中有什么辦法可以將所有“時間”列歸為一個特定ID,並將所有“距離”列歸為一個特定列。 我的目標是在最后繪制時間與該特定ID的距離。

還是在python中有任何我可以在不將時間和距離列值分組的情況下進行繪制的函數。

我願意接受任何建議:)

在此處輸入圖片說明

我相信在更改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

最后可以進行pivot是將pivotplot一起使用:

df.pivot(index='Time(hr)', columns='ID', values='Distance Km').plot()

圖形

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM