我想使用熊貓將兩列轉換爲一列,這是一個字典表示的兩個轉換列。熊貓 - 將兩列轉換爲一個新的字段作爲字典
df = DataFrame({'Metrics' : [[("P", "P"), ("Q","Q")], ("K", "K"), ("Z", "Z")],
'Stage_Name' : ["P", "K", "Z"],
'Block_Name' : ["A", "B", "A"]})
基本上我想合併Metrics
和Stage_Name
:
到名爲merged
另一列,例如,第一排是:
{'P': [('P', 'P'), ('Q', 'Q')]}
我知道如何將一行轉換爲字典表示,但是,我不知道如何對所有ro進行此操作WS沒有一個循環:
something = df.iloc[[0]].set_index('Stage_Name')['Metrics'].to_dict()
print something
Output: {'P': [('P', 'P'), ('Q', 'Q')]}
後來我想基於Block_Name
聚集,所以對於合併列,其結果將是兩本字典爲Block_Name
加在一起:A
。
{'P': [('P', 'P'), ('Q', 'Q')], 'Z' : [('Z', 'Z')] }
對於Stage_Name
和Metrics
,我就已經是附加到一個列表,它看起來像這樣:
grouped = df.groupby(df['Block_Name'])
df_2 = grouped.aggregate(lambda x: tuple(x))
能有人指出正確的方向?謝謝!
沒」我知道我可以用ap層和軸= 1,謝謝! – user1157751
你只能在dfs上使用'axis = 1',而不能在'Series'上使用''''''''''''''''''''''''''''''''''''''''''這個方法可行,但是,這也是我試圖通過行的方式訪問單獨列 – EdChum