【发布时间】:2019-12-19 11:16:36
【问题描述】:
我有一个似乎无法解决的愚蠢问题。我需要像这样使用 pandas 数据框:
id part1 part2 part3 part4 part5
23024 xyz9 23l lk8 jkd9 298
48392 xyz10 24x 29x ef3 298
现在,我只想“旋转”表格,以便有两列显示 ID 和部件:
id Parts
23024 xyz9
23024 23l
23024 lk8
23024 jkd9
23024 298
48392 xyz10
48392 29x
48392 ef3
48392 298
我从获取所有唯一 ID 开始:
lst =[]
for i in df['id']:
if i is not None:
lst.append(i)
然后尝试了一些函数来获取值,但失败了:
df_new = pd.DataFrame(columns=['id', 'parts'])
for i in lst:
temp_df = df.loc[df['id'] == i]
for x in temp_df.columns:
temp_list = []
temp_list.append([str(i), str(temp_df[x][0])])
temp_df = pd.DataFrame(temp_list, columns=['id', 'parts'])
df = df.append(temp_df)
但我不断收到 KeyErrors。我做错了什么?
【问题讨论】:
-
df.melt('id')?
标签: python excel pandas numpy pivot