दिलचस्प पोस्ट
मैं स्पर्क डेटाफ्रेम में एक नया कॉलम कैसे जोड़ूं (PySpark का प्रयोग कर रहा हूँ)? जावास्क्रिप्ट: क्या इंटीरियर एचटीएमएल या (बहुत से) का उपयोग करने के लिए बेहतर जटिल संरचना को जोड़ने के लिए एलेमेंट कॉल्स करना बेहतर है? स्तंभ मान के अनुसार 2 आयामी सरणी कैसे सॉर्ट करें? आंशिक अद्यतनों के साथ इकाई फ़्रेमवर्क सत्यापन एक एल्गोरिथ्म के कारण ओ (लॉग लॉग एन) जटिलता का कारण होगा? अजगर में अनुरोधों के साथ "मल्टीपार्ट / फ़ॉर्म-डेटा" कैसे भेजना है? मैं कमांड लाइन से साइगविन घटक कैसे स्थापित करूं? मैं तेजी से डीसीटी और मैट्रिक्स के आईडीसी के लिए एक सरल एल्गोरिथ्म की तलाश कर रहा हूं कैसे एक चर से एक जेएस वस्तु संपत्ति नाम सेट करने के लिए ओरेकल के जेडीबीसी ड्राइवर वर्गों में अंतर? क्या मैं इकाई ढाँचा कोड में वैश्विक मानचित्रण नियमों को पहले निर्दिष्ट कर सकता हूं? सूचियों की सूची में परिवर्तन करना जावा में एक स्ट्रिंग दोहराते हुए आसान तरीका गतिशील रूप से एपेन्डर फ़ाइल पथ सेट करने का सर्वोत्तम तरीका जब पायथन में एक खाली स्ट्रिंग विभाजित करते हैं, तो विभाजित ('\ n') रिटर्न करता है, तो क्यों विभाजन () एक खाली सूची लौटाती है?

data.frame समूह द्वारा कॉलम

मेरे पास डेटा फ्रेम डीएफ है

कहें डीएफ है:

AB 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 

अब मैं कॉलम ए द्वारा पंक्तियों को एक साथ जोड़ना चाहता हूं और स्तंभ बी का योग करना चाहता हूं।

उदाहरण के लिए:

  AB 1 1 5 2 2 3 3 3 11 

मैं वर्तमान में sqldf फ़ंक्शन के साथ SQL क्वेरी का उपयोग कर रहा हूं। लेकिन किसी कारण से यह बहुत धीमी है क्या ऐसा करने के लिए कोई और अधिक सुविधाजनक तरीका है? मैं मैन्युअल रूप से यह भी पाश के लिए एक का उपयोग कर सकता है लेकिन यह फिर से धीमा है मेरी एसक्यूएल क्वेरी "ए से ए, गेट (बी) डीएफ समूह से ए" चुनें "

सामान्य में जब भी मैं वैक्टरित संचालन का उपयोग नहीं करता हूं और मैं छोरों के लिए उपयोग करता हूं, एकल प्रक्रियाओं के लिए भी प्रदर्शन बहुत धीमा है

Solutions Collecting From Web of "data.frame समूह द्वारा कॉलम"

यह एक आम सवाल है आधार में, जो विकल्प आप खोज रहे हैं वह aggregate मान लें कि आपके data.frame को "mydf" कहा जाता है, आप निम्न का उपयोग कर सकते हैं।

 > aggregate(B ~ A, mydf, sum) AB 1 1 5 2 2 3 3 3 11 

मैं यह भी "data.table" पैकेज में देखने की सिफारिश करेगा।

 > library(data.table) > DT <- data.table(mydf) > DT[, sum(B), by = A] A V1 1: 1 5 2: 2 3 3: 3 11 

dplyr का उपयोग करना:

 require(dplyr) df <- data.frame(A = c(1, 1, 2, 3, 3), B = c(2, 3, 3, 5, 6)) df %>% group_by(A) %>% summarise(B = sum(B)) ## Source: local data frame [3 x 2] ## ## AB ## 1 1 5 ## 2 2 3 ## 3 3 11 

sqldf साथ:

 library(sqldf) sqldf('SELECT A, SUM(B) AS B FROM df GROUP BY A') 

मैं plyr पैकेज पर एक नज़र रखने की सिफारिश करेंगे। यह डेटा-योग्य या अन्य पैकेजों के जितना तेज़ नहीं हो सकता है, लेकिन यह काफी शिक्षाप्रद है, खासकर जब आर से शुरू होता है और कुछ डेटा हेरफेर करने के लिए।

 > DF <- data.frame(A = c("1", "1", "2", "3", "3"), B = c(2, 3, 3, 5, 6)) > library(plyr) > DF.sum <- ddply(DF, c("A"), summarize, B = sum(B)) > DF.sum AB 1 1 5 2 2 3 3 3 11 
 require(reshape2) T <- melt(df, id = c("A")) T <- dcast(T, A ~ variable, sum) 

मैं कुल पर सटीक लाभ निश्चित नहीं हूं