我的問題是我有一個大型的數據框(約300,000行),每個主題代表不同的條件下的給定值。簡化版本如下所示:使用來自單獨DataFrame的編碼數據向Pandas DataFrame添加新列而不使用循環?
In [12]: df1
Out[12]:
SubID Condition Value
0 1 1 0.123
1 1 2 0.234
2 2 1 0.345
3 2 2 0.456
4 3 1 0.567
5 3 2 0.678
6 4 1 0.789
我也有第二張表,只有80奇數行持有該主題所屬的遺傳組。
我想這些數據添加到數據幀首。編碼表的簡化版本如下所示:
In [17]: df2
Out[17]:
Subject Number Genetic Group
0 1 A
1 2 C
2 3 A
3 4 B
我想直到結束是:
In [19]: df1
Out[19]:
SubID Condition Value Genetic Group
0 1 1 0.123 A
1 1 2 0.234 A
2 2 1 0.345 C
3 2 2 0.456 C
4 3 1 0.567 A
5 3 2 0.678 A
6 4 1 0.789 B
我可以使用的:循環,但使用任何想知道是否有一個方法大熊貓DataFrame的合併或加入操作會避免這種情況?非常感謝,
謝謝馬克西姆。今天我又看了一下你的回覆(現在我又在我的電腦前),這很有道理。我認爲這可能對我稍後需要做的其他操作有用,所以感謝您花時間回覆。 – 2013-03-06 09:48:55
@PhilipLawrence我應該補充更多的意見,但沒有足夠的時間。基本上,你的數據是_narrow_格式。我首先將其轉換爲_long_格式,其中每個值類型都有自己的列,然後再添加另一列,然後將其轉換回_narrow_格式。 – 2013-03-06 12:23:16