【发布时间】:2018-06-01 14:52:58
【问题描述】:
我有以下熊猫数据框:
df1
Out 1 Out 2 Out 3 Out 4 Out 5
3 1 2 4 5
100 50 200 300 200
df1 中的值表示 df2$ID 中的第 N 个唯一值。所以第一个唯一值是 999,第三个唯一值是 777 等等。
ID ID2
999 888
101 801
777 666
777 666
555 100
555 100
111 100
所以对于最终的 df3,我需要以下内容:注意我只更新了示例的第一行
Out 1 Out 2 Out 3 Out 4 Out 5
777 999 101 555 111
100 50 200 300 200
我已经尝试使用@Wen 的答案,但它会产生以下错误:我找不到这个答案,除此之外可能是索引错误。我还确保我将相关数据类型转换为 int32 无济于事。任何帮助将不胜感激 -
ValueError: Row labels must have same size as column labels
【问题讨论】:
-
Pandas 使用 numpy,所以你可以这样做
np.unique(df2['ID'])[df1.iloc[0,:]] -
谢谢你 - 我之前在代码中遇到了一个轻微的索引问题,这就是为什么我没有早点投票。效果很好!