我有一個名爲DF這樣的數據:(有DF沒有重複行)R:按照一定的模式傳輸數據表
a_id b_id
111111 18
111111 17
222222 18
333333 14
444444 13
555555 18
555555 24
222222 13
222222 17
333333 17
我想將它反轉爲這樣的數據df_2:
a_one a_two b_list number_of_b
222222 444444 13 1
111111 222222 17,18 2
111111 333333 17 1
111111 222222 17 1
222222 333333 17 1
111111 555555 18 1
222222 555555 18 1
如果a_id共享相同的b_id,則它們在df_2上成爲一對;
df_2的b_list是相應的b_id;
的number_of_b是b_list的長度
我有一個Python代碼
import pandas as pd
from itertools import combinations
df = df.groupby("b_id").apply(lambda x: list(combinations(x["a_id"], 2))).apply(pd.Series).stack()
df = df.apply(pd.Series).reset_index().groupby([0,1])["b_id"].apply(lambda x:x.values).reset_index()
df.columns = ["a_one", "a_two", "b_list"]
df["number_of_b"] = df.b_list.apply(len)
誰能幫我實現它R中
ü可以做dcast爲此 – akrun
你能給我更具體的指導,謝謝 – kkjoe