మాడ్యూల్ పాఠాలు (2/2)
ఉత్పరివర్తనలు మరియు అగ్రిగేషన్లు
ఎంచుకోవడం మరియు ఫిల్టర్ చేయడంతో పాటు, dplyr కొత్త గణించిన నిలువు వరుసలను సృష్టించడానికి మరియు సమూహాలుగా సమగ్రపరచడం ద్వారా డేటాను సంగ్రహించడానికి శక్తివంతమైన సామర్థ్యాలను అందిస్తుంది.
కొత్త నిలువు వరుసలను సృష్టిస్తోంది: mutate()
mutate() క్రియ అన్ని అసలైన నిలువు వరుసలను అలాగే ఉంచేటప్పుడు కొత్త నిలువు వరుసలను లెక్కించడానికి లేదా ఇప్పటికే ఉన్న వాటిని సవరించడానికి మిమ్మల్ని అనుమతిస్తుంది.
# Adds a 'double_salary' column computed as 'salary' multiplied by 2
df %>%
mutate(double_salary = salary * 2)
# You can create multiple columns at once
df %>%
mutate(
total_cost = quantity * price,
tax = total_cost * 0.22
)సమూహపరచడం మరియు సమగ్రపరచడం: group_by() మరియు summarise()
తరచుగా, డేటా విశ్లేషణకు వరుసల నిర్దిష్ట సమూహాల కోసం సారాంశ గణాంకాలను (ఉదా. సగటు, మొత్తం, గణన) లెక్కించడం అవసరం (ఉదాహరణకు, ప్రతి విభాగానికి సగటు జీతం లెక్కించడం).
1. group_by()
ఒకటి లేదా అంతకంటే ఎక్కువ నిలువు వరుసల విలువల ద్వారా డేటా ఫ్రేమ్ను సమూహపరుస్తుంది. స్వతహాగా, ఇది డేటా యొక్క దృశ్య రూపాన్ని మార్చదు, కానీ తదుపరి కార్యకలాపాలను "సమూహం వారీగా" అమలు చేయాలని dplyrకి ఇది సంకేతాలు ఇస్తుంది.
2. summarise() (లేదా summarize())
mean(), sum(), min(), max(), లేదా AGYTOK_INLINE_11 గణన వంటి గణాంక ఫంక్షన్లను వర్తింపజేయడం ద్వారా అనేక అడ్డు వరుసలను ఒకే సారాంశ అడ్డు వరుసలో కుదించవచ్చు.
# Calculates the average salary per department
df %>%
group_by(department) %>%
summarise(mean_salary = mean(salary))మీరు ఒక్కో సమూహానికి చెందిన రికార్డులను లెక్కించాలనుకుంటే:
# Counts how many employees are in each city
df %>%
group_by(city) %>%
summarise(count = n())మీరే ప్రయత్నించండి
వ్యాయామం 1: లెక్కించిన నిలువు వరుసను సృష్టించండి
డేటా ఫ్రేమ్ df ఇచ్చినట్లయితే, mutate()ని ఉపయోగించి పరిమాణ కాలమ్ని ధర కాలమ్తో గుణించడం ద్వారా total_price అనే కొత్త నిలువు వరుసను సృష్టించండి. ఫలితాన్ని df_newలో సేవ్ చేయండి.
సూచనను చూపించు
dfలో పైప్లైన్ లోపల మ్యుటేట్ (total_price = పరిమాణం * ధర) ఉపయోగించండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 2: సమూహం మరియు సగటుతో సంగ్రహించండి
డిపార్ట్మెంట్ కాలమ్ ద్వారా రికార్డులను సమూహపరచడం, జీతం కాలమ్ యొక్క సగటును లెక్కించండి. సగటు_జీతం పేరుతో సమగ్ర నిలువు వరుసను సేవ్ చేసి, తుది ఫలితాన్ని df_groupedకి కేటాయించండి.
సూచనను చూపించు
USA df %>% group_by(డిపార్ట్మెంట్) %>% సారాంశం(mean_salary = సగటు(జీతం))
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 3: సమూహానికి మూలకాలను లెక్కించండి
ప్రతి నగరం (నగర కాలమ్) కోసం వరుసల సంఖ్యను లెక్కించండి. n() ఫంక్షన్ని ఉపయోగించి సమ్మరైజ్() లోపల కౌంట్ వేరియబుల్కు కౌంట్ను కేటాయించండి మరియు తుది ఫలితాన్ని df_countsలో సేవ్ చేయండి.
సూచనను చూపించు
ఉనా పైప్లైన్లో కలయిక సమూహం_బై(నగరం) సారాంశం(కౌంట్ = n()).
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 4: బహుళ సారాంశాలు
వర్గం కాలమ్ ద్వారా ధర కాలమ్ గ్రూపింగ్ యొక్క కనిష్ట విలువ (min_price) మరియు గరిష్ట విలువ (max_price)ని గణించండి. ఫలితాన్ని df_summaryలో సేవ్ చేయండి.
సూచనను చూపించు
సారాంశం() లోపల, min_price = min(price) మరియు max_price = max(price) మెట్రిక్లను కామాతో వేరు చేయండి.
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది
వ్యాయామం 5: గ్రూపింగ్ మరియు కంబైన్డ్ ఫిల్టర్లు
డిపార్ట్మెంట్ కాలమ్ ద్వారా dfని సమూహపరిచే పైప్లైన్ను వ్రాయండి, మ్యూటేట్()ని ఉపయోగించి కొత్త కాలమ్ avg_salaryలో జీతం ఆదా చేసే సగటును గణిస్తుంది (గమనిక: అన్ని అడ్డు వరుసలను ఉంచడానికి మ్యుటేట్ ఉపయోగించండి, సారాంశం కాదు) మరియు చివరగా avg_salary కంటే ఖచ్చితంగా ఎక్కువ జీతంతో రికార్డ్లను మాత్రమే ఉంచడానికి ఫిల్టర్ చేయండి. res లో సేవ్ చేయండి.
సూచనను చూపించు
USA df %>% group_by(డిపార్ట్మెంట్) %>% mutate(avg_salary = సగటు(జీతం)) %>% ఫిల్టర్(జీతం > avg_salary)
3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది