1
我有一個pandas.Dataframe
稱爲a
和結構如下: 一種優雅的方式做的像轉轉型熊貓更快
,而我想要得到的DataFrame
結構是這樣的:
其中b
就像是a
轉置。 通過轉換a
到b
,我使用的代碼:
id_uni = a['id'].unique()
b = pd.DataFrame(columns=['id']+[str(i) for i in range(1,4)])
b['id'] = id_uni
for i in id_uni:
for j in range(7):
ind = (a['id'] == i) & (a['w'] == j)
med = a.loc[ind, 't'].values
if med:
b.loc[b['id'] == i, str(j)] = med[0]
else:
b.loc[b['id'] == i, str(j)] = 0
的方法是很殘酷的,我只用兩個for循環擺脫a
所有元素b
。而且速度很慢。你有沒有一種有效的方法來改進它?
哇!有用。然後我使用'.reset_index(inplace = True)',但名稱'w'仍然在索引中,我該如何擺脫它? –
您需要重置列名稱,請檢查編輯。 – jezrael
謝謝!但是,你能和我分享爲什麼你能很快找到方法嗎?我沒有如何找到我想要的確切API ... –