पर वापस जुड़ना मैं अपने मस्तिष्क को pandas
डेटा संरचनाओं के चारों ओर लपेटने की कोशिश कर रहा हूं और क्रोध में उनका उपयोग करने की कोशिश कर रहा हूं। मुझे पता चला है कि groupby
संचालन के परिणामस्वरूप पांडा श्रृंखला वस्तु होती है। लेकिन मैं समझ नहीं पा रहा हूं कि परिणामस्वरूप श्रृंखला का उपयोग कैसे करें।एक पांडैस श्रृंखला में एक पदानुक्रमित इंडेक्स के साथ स्रोत डेटाफ्रेम
1) "में शामिल होने" वापस प्रारंभिक DataFrame
2) करने के लिए परिणाम श्रेणीबद्ध सूचकांक के आधार पर जिसके परिणामस्वरूप श्रृंखला से एक विशिष्ट मूल्य का चयन करें: विशेष रूप से, मैं दो बात करना चाहते हैं।
import pandas
df = pandas.DataFrame({'group1': ['a','a','a','b','b','b'],
'group2': ['c','c','d','d','d','e'],
'value1': [1.1,2,3,4,5,6],
'value2': [7.1,8,9,10,11,12]
})
dfGrouped = df.groupby(["group1", "group2"] , sort=True)
## toy function, obviously not my real function
def fun(x): return mean(x**2)
results = dfGrouped.apply(lambda x: fun(x.value1))
तो जिसके परिणामस्वरूप श्रृंखला (परिणाम) इस तरह दिखता है:
यहाँ के साथ काम करने के लिए एक खिलौना उदाहरण है
group1 group2
a c 2.605
d 9.000
b d 20.500
e 36.000
समझ में आता है कि। लेकिन मैं कैसे करना है:
1) मूल DataFrame df
2) को यह वापस में शामिल होने के लिए एक एकल मूल्य का चयन करें जहां, कहते हैं, GROUP1 == 'बी' & समूह 2 == 'प'
ऐसा लगता है कि मैं वास्तव में क्या करने की कोशिश कर रहा था। इंडेक्स को सेट करने का यह एक अच्छा उदाहरण है। मुझे एहसास नहीं हुआ कि यह कैसे काम करता है। –
@ वाउटर-ओवरमेयर - बहुत अच्छा। मैं आज इस के साथ संघर्ष कर रहा था। – John
@ वाउटर-ओवरमेयर, @ जेडी-लांग - यह कैसे काम करेगा यदि एक से अधिक परिणाम डेटाफ्रेम पर वापस जोड़े जाएंगे। उदा। दो अलग-अलग कार्यों के परिणाम कैसे हो सकते हैं, उदा। 'डीसी यूसीएल (एक्स): वापसी का मतलब (x2) + np.std * 2' और' def एलसीएल (एक्स): वापसी का मतलब (x2) -np.std * 2' वापस डीएफ में पास किया जाना चाहिए? या कोई बेहतर तरीका है? – John