தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

இணையத்தில் R அல்லது Python ஐத் தேடுவதன் மூலம், தரவுகளுடன் வேலை செய்வதற்கு எது சிறந்தது, வேகமானது மற்றும் வசதியானது என்ற தலைப்பில் மில்லியன் கணக்கான கட்டுரைகள் மற்றும் கிலோமீட்டர் விவாதங்களை நீங்கள் காணலாம். ஆனால் துரதிர்ஷ்டவசமாக, இந்த கட்டுரைகள் மற்றும் சர்ச்சைகள் அனைத்தும் குறிப்பாக பயனுள்ளதாக இல்லை.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

இந்த கட்டுரையின் நோக்கம், இரண்டு மொழிகளிலும் உள்ள மிகவும் பிரபலமான தொகுப்புகளில் உள்ள அடிப்படை தரவு செயலாக்க நுட்பங்களை ஒப்பிடுவதாகும். மேலும் வாசகர்களுக்கு இதுவரை தெரியாத ஒன்றை விரைவாக மாஸ்டர் செய்ய உதவுங்கள். Python இல் எழுதுபவர்களுக்கு, R இல் அதையே எப்படி செய்வது என்று கண்டுபிடிக்கவும்.

கட்டுரையின் போது R இல் உள்ள மிகவும் பிரபலமான தொகுப்புகளின் தொடரியல் பகுப்பாய்வு செய்வோம். இவை நூலகத்தில் சேர்க்கப்பட்டுள்ள தொகுப்புகள் tidyverseமற்றும் தொகுப்பு data.table. மற்றும் அவற்றின் தொடரியல் உடன் ஒப்பிடவும் pandas, பைத்தானில் மிகவும் பிரபலமான தரவு பகுப்பாய்வு தொகுப்பு.

பைதான் மற்றும் R ஐப் பயன்படுத்தி பகுப்பாய்வு சாளர செயல்பாடுகளைச் செய்வது வரை தரவு பகுப்பாய்வு முழுப் பாதையிலும் படிப்படியாகச் செல்வோம்.

உள்ளடக்கம்

பரிசீலனையில் உள்ள பேக்கேஜ்களில் சில தரவு செயலாக்க செயல்பாட்டை எப்படி செய்வது என்பதை நீங்கள் மறந்துவிட்டால், இந்தக் கட்டுரையை ஏமாற்றுத் தாளாகப் பயன்படுத்தலாம்.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

  1. R மற்றும் Python இடையே உள்ள முக்கிய தொடரியல் வேறுபாடுகள்
    1.1. தொகுப்பு செயல்பாடுகளை அணுகுகிறது
    1.2. பணி
    1.3. அட்டவணைப்படுத்துதல்
    1.4. முறைகள் மற்றும் OOP
    1.5. குழாய்கள்
    1.6. தரவு கட்டமைப்புகள்
  2. நாம் பயன்படுத்தும் தொகுப்புகளைப் பற்றி சில வார்த்தைகள்
    2.1. நேர்த்தியான
    2.2. தரவு. அட்டவணை
    2.3. பாண்டாக்கள்
  3. தொகுப்புகளை நிறுவுதல்
  4. தரவை ஏற்றுகிறது
  5. டேட்டாஃப்ரேம்களை உருவாக்குதல்
  6. உங்களுக்கு தேவையான நெடுவரிசைகளைத் தேர்ந்தெடுப்பது
  7. வடிகட்டுதல் வரிசைகள்
  8. தொகுத்தல் மற்றும் திரட்டுதல்
  9. அட்டவணைகளின் செங்குத்து ஒன்றியம் (UNION)
  10. அட்டவணைகளின் கிடைமட்ட இணைப்பு (JOIN)
  11. அடிப்படை சாளர செயல்பாடுகள் மற்றும் கணக்கிடப்பட்ட நெடுவரிசைகள்
  12. R மற்றும் Python இல் தரவு செயலாக்க முறைகளுக்கு இடையே உள்ள கடித அட்டவணை
  13. முடிவுக்கு
  14. நீங்கள் எந்த தொகுப்பைப் பயன்படுத்துகிறீர்கள் என்பது பற்றிய ஒரு சிறிய ஆய்வு

நீங்கள் தரவு பகுப்பாய்வில் ஆர்வமாக இருந்தால், என் தந்தி и YouTube சேனல்கள். பெரும்பாலான உள்ளடக்கம் R மொழிக்கு அர்ப்பணிக்கப்பட்டுள்ளது.

R மற்றும் Python இடையே உள்ள முக்கிய தொடரியல் வேறுபாடுகள்

நீங்கள் Python இலிருந்து R க்கு மாறுவதை எளிதாக்க, அல்லது அதற்கு நேர்மாறாக, நீங்கள் கவனம் செலுத்த வேண்டிய சில முக்கிய புள்ளிகளை நான் தருகிறேன்.

தொகுப்பு செயல்பாடுகளை அணுகுகிறது

ஒரு தொகுப்பு R இல் ஏற்றப்பட்டதும், அதன் செயல்பாடுகளை அணுகுவதற்கு நீங்கள் தொகுப்பின் பெயரைக் குறிப்பிட வேண்டியதில்லை. பெரும்பாலான சந்தர்ப்பங்களில் இது R இல் பொதுவானதல்ல, ஆனால் இது ஏற்றுக்கொள்ளத்தக்கது. உங்கள் குறியீட்டில் ஒரு தொகுப்பின் செயல்பாடுகள் தேவைப்பட்டால் நீங்கள் அதை இறக்குமதி செய்ய வேண்டியதில்லை, ஆனால் தொகுப்பின் பெயரையும் செயல்பாட்டின் பெயரையும் குறிப்பிடுவதன் மூலம் அதை அழைக்கவும். R இல் தொகுப்பு மற்றும் செயல்பாட்டு பெயர்களுக்கு இடையே பிரிப்பான் இரட்டை பெருங்குடல் ஆகும். package_name::function_name().

பைத்தானில், மாறாக, ஒரு தொகுப்பின் செயல்பாட்டை அதன் பெயரை வெளிப்படையாகக் குறிப்பிடுவதன் மூலம் அழைப்பது உன்னதமானதாகக் கருதப்படுகிறது. ஒரு தொகுப்பை பதிவிறக்கம் செய்யும்போது, ​​அது பொதுவாக சுருக்கப்பட்ட பெயரைக் கொடுக்கிறது, எ.கா. pandas பொதுவாக ஒரு புனைப்பெயர் பயன்படுத்தப்படுகிறது pd. ஒரு தொகுப்பு செயல்பாடு ஒரு புள்ளி மூலம் அணுகப்படுகிறது package_name.function_name().

பணி

R இல், ஒரு பொருளுக்கு மதிப்பை ஒதுக்க அம்புக்குறியைப் பயன்படுத்துவது பொதுவானது. obj_name <- value, ஒரு ஒற்றைச் சமமான அடையாளம் அனுமதிக்கப்பட்டாலும், R இல் உள்ள ஒற்றைச் சமமான அடையாளம் முதன்மையாக மதிப்புகளை செயல்பாட்டு வாதங்களுக்கு அனுப்பப் பயன்படுகிறது.

பைத்தானில், ஒதுக்கீடு என்பது ஒரு சமமான அடையாளத்துடன் பிரத்தியேகமாக செய்யப்படுகிறது obj_name = value.

அட்டவணைப்படுத்துதல்

இங்கே குறிப்பிடத்தக்க வேறுபாடுகளும் உள்ளன. R இல், அட்டவணைப்படுத்தல் ஒன்றில் தொடங்குகிறது மற்றும் அதன் விளைவாக வரம்பில் உள்ள அனைத்து குறிப்பிட்ட கூறுகளையும் உள்ளடக்கியது,

பைத்தானில், அட்டவணைப்படுத்தல் பூஜ்ஜியத்தில் இருந்து தொடங்குகிறது மற்றும் தேர்ந்தெடுக்கப்பட்ட வரம்பில் குறியீட்டில் குறிப்பிடப்பட்ட கடைசி உறுப்பு இல்லை. எனவே வடிவமைக்கவும் x[i:j] பைத்தானில் j உறுப்பு சேர்க்கப்படாது.

R குறியீட்டில் எதிர்மறை அட்டவணைப்படுத்தலில் வேறுபாடுகள் உள்ளன x[-1] கடைசி ஒன்றைத் தவிர திசையன் அனைத்து கூறுகளையும் திருப்பித் தரும். பைத்தானில், இதே போன்ற குறியீடானது கடைசி உறுப்பை மட்டுமே வழங்கும்.

முறைகள் மற்றும் OOP

R OOP ஐ அதன் சொந்த வழியில் செயல்படுத்துகிறது, இதைப் பற்றி நான் கட்டுரையில் எழுதினேன் "ஆர் மொழியில் OOP (பகுதி 1): S3 வகுப்புகள்". பொதுவாக, R என்பது ஒரு செயல்பாட்டு மொழி, மேலும் அதில் உள்ள அனைத்தும் செயல்பாடுகளில் கட்டமைக்கப்பட்டுள்ளன. எனவே, எடுத்துக்காட்டாக, எக்செல் பயனர்களுக்கு, செல்லவும் tydiverse அதை விட எளிதாக இருக்கும் pandas. இது எனது அகநிலை கருத்தாக இருக்கலாம் என்றாலும்.

சுருக்கமாக, R இல் உள்ள பொருட்களுக்கு முறைகள் இல்லை (நாம் S3 வகுப்புகளைப் பற்றி பேசினால், ஆனால் மற்ற OOP செயலாக்கங்கள் மிகவும் குறைவாகவே உள்ளன). பொருளின் வகுப்பைப் பொறுத்து அவற்றை வெவ்வேறு விதத்தில் செயலாக்கும் பொதுவான செயல்பாடுகள் மட்டுமே உள்ளன.

குழாய்கள்

ஒருவேளை இது பெயராக இருக்கலாம் pandas இது முற்றிலும் சரியாக இருக்காது, ஆனால் அர்த்தத்தை விளக்க முயற்சிக்கிறேன்.

இடைநிலை கணக்கீடுகளைச் சேமிக்காமல் இருக்கவும், வேலை செய்யும் சூழலில் தேவையற்ற பொருள்களை உருவாக்காமல் இருக்கவும், நீங்கள் ஒரு வகையான பைப்லைனைப் பயன்படுத்தலாம். அந்த. கணக்கீட்டின் முடிவை ஒரு செயல்பாட்டிலிருந்து அடுத்த செயல்பாட்டிற்கு அனுப்பவும், இடைநிலை முடிவுகளைச் சேமிக்க வேண்டாம்.

பின்வரும் குறியீடு உதாரணத்தை எடுத்துக் கொள்வோம், அங்கு நாம் இடைநிலை கணக்கீடுகளை தனித்தனி பொருள்களில் சேமிக்கிறோம்:

temp_object <- func1()
temp_object2 <- func2(temp_object )
obj <- func3(temp_object2 )

நாங்கள் 3 செயல்பாடுகளை தொடர்ச்சியாக செய்தோம், ஒவ்வொன்றின் முடிவும் ஒரு தனி பொருளில் சேமிக்கப்பட்டது. ஆனால் உண்மையில், இந்த இடைநிலை பொருள்கள் நமக்குத் தேவையில்லை.

அல்லது இன்னும் மோசமானது, ஆனால் Excel பயனர்களுக்கு மிகவும் பரிச்சயமானது.

obj  <- func3(func2(func1()))

இந்த வழக்கில், நாங்கள் இடைநிலை கணக்கீடு முடிவுகளைச் சேமிக்கவில்லை, ஆனால் உள்ளமை செயல்பாடுகளுடன் குறியீட்டைப் படிப்பது மிகவும் சிரமமாக உள்ளது.

R இல் தரவு செயலாக்கத்திற்கான பல அணுகுமுறைகளைப் பார்ப்போம், மேலும் அவை வெவ்வேறு வழிகளில் ஒரே மாதிரியான செயல்பாடுகளைச் செய்கின்றன.

நூலகத்தில் குழாய்கள் tidyverse ஆபரேட்டரால் செயல்படுத்தப்பட்டது %>%.

obj <- func1() %>% 
            func2() %>%
            func3()

இவ்வாறு நாம் வேலையின் முடிவை எடுத்துக்கொள்கிறோம் func1() மற்றும் அதை முதல் வாதமாக அனுப்பவும் func2(), இந்த கணக்கீட்டின் முடிவை முதல் வாதமாக அனுப்புகிறோம் func3(). இறுதியில், பொருளில் செய்யப்படும் அனைத்து கணக்கீடுகளையும் எழுதுகிறோம் obj <-.

மேலே உள்ள அனைத்தும் இந்த நினைவுச்சின்னத்தால் வார்த்தைகளை விட சிறப்பாக விளக்கப்பட்டுள்ளன:
தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

В data.table சங்கிலிகள் அதே வழியில் பயன்படுத்தப்படுகின்றன.

newDT <- DT[where, select|update|do, by][where, select|update|do, by][where, select|update|do, by]

ஒவ்வொரு சதுர அடைப்புக்குறிகளிலும் நீங்கள் முந்தைய செயல்பாட்டின் முடிவைப் பயன்படுத்தலாம்.

В pandas அத்தகைய செயல்பாடுகள் ஒரு புள்ளியால் பிரிக்கப்படுகின்றன.

obj = df.fun1().fun2().fun3()

அந்த. நாங்கள் எங்கள் மேஜையை எடுத்துக்கொள்கிறோம் df மற்றும் அவளுடைய முறையைப் பயன்படுத்தவும் fun1(), பின்னர் பெறப்பட்ட முடிவுக்கு முறையைப் பயன்படுத்துகிறோம் fun2()பிறகு fun3(). இதன் விளைவாக ஒரு பொருளில் சேமிக்கப்படுகிறது பொருள் .

தரவு கட்டமைப்புகள்

R மற்றும் Python இல் உள்ள தரவு கட்டமைப்புகள் ஒரே மாதிரியானவை, ஆனால் வெவ்வேறு பெயர்களைக் கொண்டுள்ளன.

விளக்கம்
R இல் பெயர்
பைதான்/பாண்டாஸில் பெயர்

அட்டவணை அமைப்பு
data.frame, data.table, tibble
டேட்டாஃப்ரேம்

மதிப்புகளின் ஒரு பரிமாண பட்டியல்
திசையன்
பாண்டாக்களில் தொடர் அல்லது தூய பைத்தானில் பட்டியல்

பல நிலை அல்லாத அட்டவணை அமைப்பு
பட்டியல்
அகராதி (ஆணை)

வேறு சில அம்சங்களையும் தொடரியல் வேறுபாடுகளையும் கீழே பார்ப்போம்.

நாம் பயன்படுத்தும் தொகுப்புகளைப் பற்றி சில வார்த்தைகள்

முதலில், இந்தக் கட்டுரையின் போது உங்களுக்குத் தெரிந்த தொகுப்புகளைப் பற்றி நான் உங்களுக்குச் சொல்கிறேன்.

நேர்த்தியான

அதிகாரப்பூர்வ வலைத்தளம்: tidyverse.org
தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது
நூலகம் tidyverse RStudioவில் மூத்த ஆராய்ச்சி விஞ்ஞானி ஹெட்லி விக்ஹாம் எழுதியது. tidyverse தரவு செயலாக்கத்தை எளிதாக்கும் ஈர்க்கக்கூடிய தொகுப்புகளின் தொகுப்பைக் கொண்டுள்ளது, அவற்றில் 5 CRAN களஞ்சியத்திலிருந்து முதல் 10 பதிவிறக்கங்களில் சேர்க்கப்பட்டுள்ளன.

நூலகத்தின் மையமானது பின்வரும் தொகுப்புகளைக் கொண்டுள்ளது: ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. இந்த தொகுப்புகள் ஒவ்வொன்றும் ஒரு குறிப்பிட்ட சிக்கலைத் தீர்ப்பதை நோக்கமாகக் கொண்டுள்ளன. உதாரணத்திற்கு dplyr தரவு கையாளுதலுக்காக உருவாக்கப்பட்டது, tidyr தரவை நேர்த்தியான வடிவத்திற்கு கொண்டு வர, stringr சரங்களுடன் வேலை செய்வதை எளிதாக்குகிறது, மற்றும் ggplot2 மிகவும் பிரபலமான தரவு காட்சிப்படுத்தல் கருவிகளில் ஒன்றாகும்.

நன்மை tidyverse SQL வினவல் மொழியைப் போலவே பல வழிகளிலும் உள்ள எளிமையான மற்றும் படிக்க எளிதான தொடரியல் ஆகும்.

தரவு. அட்டவணை

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறதுஅதிகாரப்பூர்வ வலைத்தளம்: r-datatable.com

எழுதியவர் data.table H2O.ai இன் Matt Dole ஆகும்.

நூலகத்தின் முதல் வெளியீடு 2006 இல் நடந்தது.

தொகுப்பு தொடரியல் உள்ளதைப் போல வசதியாக இல்லை tidyverse மற்றும் R இல் உள்ள கிளாசிக் டேட்டாஃப்ரேம்களை மிகவும் நினைவூட்டுகிறது, ஆனால் அதே நேரத்தில் செயல்பாட்டில் கணிசமாக விரிவாக்கப்பட்டது.

இந்தத் தொகுப்பில் உள்ள அட்டவணையில் உள்ள அனைத்து கையாளுதல்களும் சதுர அடைப்புக்குறிக்குள் விவரிக்கப்பட்டுள்ளன, மேலும் நீங்கள் தொடரியல் மொழிபெயர்த்தால் data.table SQL இல், நீங்கள் இதைப் போன்ற ஒன்றைப் பெறுவீர்கள்: data.table[ WHERE, SELECT, GROUP BY ]

இந்த தொகுப்பின் பலம் பெரிய அளவிலான தரவை செயலாக்கும் வேகம் ஆகும்.

பாண்டாக்கள்

அதிகாரப்பூர்வ வலைத்தளம்: pandas.pydata.org தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

நூலகத்தின் பெயர் "பேனல் தரவு" என்ற பொருளாதார அளவீட்டில் இருந்து வந்தது, இது பல பரிமாண கட்டமைக்கப்பட்ட தகவல் தொகுப்புகளை விவரிக்கப் பயன்படுகிறது.

எழுதியவர் pandas அமெரிக்கன் வெஸ் மெக்கின்னி ஆவார்.

பைத்தானில் தரவு பகுப்பாய்வு வரும்போது, ​​சமம் pandas இல்லை. எந்தவொரு மூலத்திலிருந்தும் தரவை ஏற்றுவது முதல் காட்சிப்படுத்துவது வரை, தரவைக் கொண்டு எந்தவொரு கையாளுதலையும் செய்ய உங்களை அனுமதிக்கும் மிகவும் மல்டிஃபங்க்ஸ்னல், உயர்-நிலை தொகுப்பு.

கூடுதல் தொகுப்புகளை நிறுவுதல்

இந்த கட்டுரையில் விவாதிக்கப்பட்ட தொகுப்புகள் அடிப்படை R மற்றும் பைதான் விநியோகங்களில் சேர்க்கப்படவில்லை. ஒரு சிறிய எச்சரிக்கை இருந்தாலும், நீங்கள் அனகோண்டா விநியோகத்தை நிறுவியிருந்தால், கூடுதலாக நிறுவவும் pandas தேவையில்லை.

R இல் தொகுப்புகளை நிறுவுதல்

நீங்கள் RStudio டெவலப்மெண்ட் சூழலை ஒரு முறையாவது திறந்திருந்தால், R இல் தேவையான தொகுப்பை எவ்வாறு நிறுவுவது என்பது உங்களுக்கு ஏற்கனவே தெரிந்திருக்கும். தொகுப்புகளை நிறுவ, நிலையான கட்டளையைப் பயன்படுத்தவும். install.packages() R இல் நேரடியாக இயக்குவதன் மூலம்.

# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")

நிறுவிய பின், தொகுப்புகள் இணைக்கப்பட வேண்டும், பெரும்பாலான சந்தர்ப்பங்களில் கட்டளை பயன்படுத்தப்படுகிறது library().

# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)

பைத்தானில் தொகுப்புகளை நிறுவுதல்

எனவே, நீங்கள் தூய பைதான் நிறுவியிருந்தால், பிறகு pandas நீங்கள் அதை கைமுறையாக நிறுவ வேண்டும். உங்கள் இயக்க முறைமையைப் பொறுத்து கட்டளை வரி அல்லது முனையத்தைத் திறந்து பின்வரும் கட்டளையை உள்ளிடவும்.

pip install pandas

பின்னர் நாம் பைத்தானுக்குத் திரும்பி, நிறுவப்பட்ட தொகுப்பை கட்டளையுடன் இறக்குமதி செய்கிறோம் import.

import pandas as pd

தரவை ஏற்றுகிறது

தரவுச் செயலாக்கம் என்பது தரவுப் பகுப்பாய்வின் மிக முக்கியமான படிகளில் ஒன்றாகும். Python மற்றும் R இரண்டும், விரும்பினால், எந்தவொரு மூலத்திலிருந்தும் தரவைப் பெறுவதற்கான விரிவான வாய்ப்புகளை உங்களுக்கு வழங்குகிறது: உள்ளூர் கோப்புகள், இணையத்திலிருந்து கோப்புகள், வலைத்தளங்கள், அனைத்து வகையான தரவுத்தளங்கள்.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

கட்டுரை முழுவதும் நாம் பல தரவுத்தொகுப்புகளைப் பயன்படுத்துவோம்:

  1. Google Analytics இலிருந்து இரண்டு பதிவிறக்கங்கள்.
  2. டைட்டானிக் பயணிகள் தரவுத்தொகுப்பு.

எல்லா தரவுகளும் என்னிடம் உள்ளன மகிழ்ச்சியா csv மற்றும் tsv கோப்புகளின் வடிவத்தில். நாங்கள் அவர்களை எங்கிருந்து கோருவோம்?

R இல் தரவை ஏற்றுகிறது: டைடிவர்ஸ், வ்ரூம், ரீடர்

நூலகத்தில் தரவை ஏற்றுவதற்கு tidyverse இரண்டு தொகுப்புகள் உள்ளன: vroom, readr. vroom மிகவும் நவீனமானது, ஆனால் எதிர்காலத்தில் தொகுப்புகள் இணைக்கப்படலாம்.

மேற்கோள் அதிகாரப்பூர்வ ஆவணங்கள் vroom.

vroom vs ரீடர்
வெளியீடு என்ன செய்கிறது vroom அர்த்தம் readr? இப்போதைக்கு இரண்டு தொகுப்புகளையும் தனித்தனியாக உருவாக்க நாங்கள் திட்டமிட்டுள்ளோம், ஆனால் எதிர்காலத்தில் நாங்கள் தொகுப்புகளை ஒன்றிணைப்போம். வ்ரூமின் சோம்பேறி வாசிப்பில் உள்ள ஒரு குறைபாடு என்னவென்றால், சில தரவுச் சிக்கல்களை முன் கூட்டியே புகாரளிக்க முடியாது, எனவே அவற்றை எவ்வாறு சிறந்த முறையில் ஒருங்கிணைப்பது என்பது கொஞ்சம் சிந்திக்க வேண்டும்.

vroom vs ரீடர்
விடுதலை என்றால் என்ன? vroom செய்ய readr? இந்த நேரத்தில் நாங்கள் இரண்டு தொகுப்புகளையும் தனித்தனியாக உருவாக்க திட்டமிட்டுள்ளோம், ஆனால் எதிர்காலத்தில் அவற்றை இணைப்போம். சோம்பேறி வாசிப்பின் தீமைகளில் ஒன்று vroom தரவுகளில் சில சிக்கல்களை முன்கூட்டியே தெரிவிக்க முடியாது, எனவே அவற்றை எவ்வாறு இணைப்பது என்பது பற்றி நீங்கள் சிந்திக்க வேண்டும்.

இந்த கட்டுரையில் இரண்டு தரவு ஏற்றுதல் தொகுப்புகளையும் பார்ப்போம்:

R: vroom தொகுப்பில் தரவை ஏற்றுகிறது

# install.packages("vroom")
library(vroom)

# Чтение данных
## vroom
ga_nov  <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

R: readr இல் தரவை ஏற்றுகிறது

# install.packages("readr")
library(readr)

# Чтение данных
## readr
ga_nov  <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

தொகுப்பில் vroom, csv / tsv தரவு வடிவமைப்பைப் பொருட்படுத்தாமல், அதே பெயரின் செயல்பாட்டின் மூலம் ஏற்றுதல் மேற்கொள்ளப்படுகிறது vroom(), தொகுப்பில் readr ஒவ்வொரு வடிவத்திற்கும் வெவ்வேறு செயல்பாட்டைப் பயன்படுத்துகிறோம் read_tsv() и read_csv().

R இல் தரவை ஏற்றுகிறது: data.table

В data.table தரவை ஏற்றுவதற்கு ஒரு செயல்பாடு உள்ளது fread().

R இல் தரவை ஏற்றுகிறது: data.table தொகுப்பு

# install.packages("data.table")
library(data.table)

## data.table
ga_nov  <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

பைத்தானில் தரவை ஏற்றுகிறது: பாண்டாக்கள்

R தொகுப்புகளுடன் ஒப்பிட்டுப் பார்த்தால், இந்த வழக்கில் தொடரியல் மிக அருகில் உள்ளது pandas இருக்கும் readr, ஏனெனில் pandas எங்கிருந்தும் தரவைக் கோரலாம், மேலும் இந்த தொகுப்பில் முழு குடும்ப செயல்பாடுகளும் உள்ளன read_*().

  • read_csv()
  • read_excel()
  • read_sql()
  • read_json()
  • read_html()

மேலும் பல செயல்பாடுகள் பல்வேறு வடிவங்களிலிருந்து தரவைப் படிக்க வடிவமைக்கப்பட்டுள்ளன. ஆனால் எங்கள் நோக்கத்திற்கு இது போதுமானது read_table() அல்லது read_csv() வாதத்தைப் பயன்படுத்தி செப் நெடுவரிசை பிரிப்பானைக் குறிப்பிட.

பைத்தானில் தரவை ஏற்றுகிறது: பாண்டாக்கள்

import pandas as pd

ga_nov  = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_nowember.csv", sep = "t")
ga_dec  = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_december.csv", sep = "t")
titanic = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/titanic.csv")

டேட்டாஃப்ரேம்களை உருவாக்குதல்

மேசை டைட்டானிக், நாங்கள் ஏற்றிய, ஒரு புலம் உள்ளது செக்ஸ், இது பயணிகளின் பாலின அடையாளங்காட்டியை சேமிக்கிறது.

ஆனால் பயணிகளின் பாலினத்தின் அடிப்படையில் தரவின் மிகவும் வசதியான விளக்கக்காட்சிக்கு, பாலினக் குறியீட்டை விட பெயரைப் பயன்படுத்த வேண்டும்.

இதைச் செய்ய, நாங்கள் ஒரு சிறிய கோப்பகத்தை உருவாக்குவோம், அதில் முறையே 2 நெடுவரிசைகள் (குறியீடு மற்றும் பாலின பெயர்) மற்றும் 2 வரிசைகள் மட்டுமே இருக்கும்.

R: tidyverse, dplyr இல் தரவுச்சட்டத்தை உருவாக்குதல்

கீழே உள்ள குறியீட்டு எடுத்துக்காட்டில், செயல்பாட்டைப் பயன்படுத்தி தேவையான டேட்டாஃப்ரேமை உருவாக்குகிறோம் tibble() .

R: dplyr இல் தரவுச்சட்டத்தை உருவாக்குதல்

## dplyr
### создаём справочник
gender <- tibble(id = c(1, 2),
                 gender = c("female", "male"))

R: data.table இல் டேட்டாஃப்ரேமை உருவாக்குதல்

R: data.table இல் டேட்டாஃப்ரேமை உருவாக்குதல்

## data.table
### создаём справочник
gender <- data.table(id = c(1, 2),
                    gender = c("female", "male"))

பைத்தானில் டேட்டாஃப்ரேமை உருவாக்குதல்: பாண்டாக்கள்

В pandas பிரேம்களை உருவாக்குவது பல கட்டங்களில் மேற்கொள்ளப்படுகிறது, முதலில் நாம் ஒரு அகராதியை உருவாக்குகிறோம், பின்னர் அகராதியை தரவுச்சட்டமாக மாற்றுகிறோம்.

பைத்தானில் டேட்டாஃப்ரேமை உருவாக்குதல்: பாண்டாக்கள்

# создаём дата фрейм
gender_dict = {'id': [1, 2],
               'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)

நெடுவரிசைகளைத் தேர்ந்தெடுப்பது

நீங்கள் பணிபுரியும் அட்டவணைகள் டஜன் கணக்கான அல்லது நூற்றுக்கணக்கான நெடுவரிசைகளைக் கொண்டிருக்கலாம். ஆனால் பகுப்பாய்வை மேற்கொள்ள, ஒரு விதியாக, மூல அட்டவணையில் கிடைக்கும் அனைத்து நெடுவரிசைகளும் உங்களுக்குத் தேவையில்லை.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

எனவே, மூல அட்டவணையுடன் நீங்கள் செய்யும் முதல் செயல்பாடுகளில் ஒன்று, தேவையற்ற தகவலை அழித்து, இந்தத் தகவல் ஆக்கிரமித்துள்ள நினைவகத்தை விடுவிப்பதாகும்.

R இல் உள்ள நெடுவரிசைகளைத் தேர்ந்தெடுப்பது: tidyverse, dplyr

தொடரியல் dplyr SQL வினவல் மொழிக்கு மிகவும் ஒத்ததாக உள்ளது, நீங்கள் அதை நன்கு அறிந்திருந்தால், இந்த தொகுப்பை விரைவில் தேர்ச்சி பெறுவீர்கள்.

நெடுவரிசைகளைத் தேர்ந்தெடுக்க, செயல்பாட்டைப் பயன்படுத்தவும் select().

பின்வரும் வழிகளில் நீங்கள் நெடுவரிசைகளைத் தேர்ந்தெடுக்கக்கூடிய குறியீட்டின் எடுத்துக்காட்டுகள் கீழே உள்ளன:

  • தேவையான நெடுவரிசைகளின் பெயர்களை பட்டியலிடுதல்
  • வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தி நெடுவரிசைப் பெயர்களைப் பார்க்கவும்
  • தரவு வகை அல்லது நெடுவரிசையில் உள்ள தரவின் வேறு ஏதேனும் சொத்து

R: dplyr இல் நெடுவரிசைகளைத் தேர்ந்தெடுக்கிறது

# Выбор нужных столбцов
## dplyr
### выбрать по названию столбцов
select(ga_nov, date, source, sessions)
### исключь по названию столбцов
select(ga_nov, -medium, -bounces)
### выбрать по регулярному выражению, стобцы имена которых заканчиваются на s
select(ga_nov, matches("s$"))
### выбрать по условию, выбираем только целочисленные столбцы
select_if(ga_nov, is.integer)

R இல் நெடுவரிசைகளைத் தேர்ந்தெடுக்கிறது: data.table

உள்ள அதே செயல்பாடுகள் data.table சற்று வித்தியாசமாக நிகழ்த்தப்படுகின்றன, கட்டுரையின் தொடக்கத்தில் சதுர அடைப்புக்குறிக்குள் என்ன வாதங்கள் உள்ளன என்பதை விளக்கினேன் data.table.

DT[i,j,by]

எங்கே:
நான் - எங்கே, அதாவது. வரிசைகள் மூலம் வடிகட்டுதல்
j - தேர்ந்தெடு|புதுப்பிப்பு|செய், அதாவது. நெடுவரிசைகளைத் தேர்ந்தெடுத்து அவற்றை மாற்றுதல்
மூலம் - தரவு தொகுத்தல்

R இல் நெடுவரிசைகளைத் தேர்ந்தெடுக்கிறது: data.table

## data.table
### выбрать по названию столбцов
ga_nov[ , .(date, source, sessions) ]
### исключь по названию столбцов
ga_nov[ , .SD, .SDcols = ! names(ga_nov) %like% "medium|bounces" ]
### выбрать по регулярному выражению
ga_nov[, .SD, .SDcols = patterns("s$")]

மாறி .SD அனைத்து நெடுவரிசைகளையும் அணுக உங்களை அனுமதிக்கிறது, மற்றும் .SDcols உங்களுக்குத் தேவையான நெடுவரிசைகளின் பெயர்களை வடிகட்ட வழக்கமான வெளிப்பாடுகள் அல்லது பிற செயல்பாடுகளைப் பயன்படுத்தி தேவையான நெடுவரிசைகளை வடிகட்டவும்.

பைதான், பாண்டாக்களில் நெடுவரிசைகளைத் தேர்ந்தெடுப்பது

இன் பெயரில் நெடுவரிசைகளைத் தேர்ந்தெடுக்க pandas அவர்களின் பெயர் பட்டியலை வழங்கினால் போதும். வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தி நெடுவரிசைகளைத் தேர்ந்தெடுக்க அல்லது விலக்க, நீங்கள் செயல்பாடுகளைப் பயன்படுத்த வேண்டும் drop() и filter(), மற்றும் வாதம் அச்சு=1, வரிசைகளை விட நெடுவரிசைகளை செயலாக்குவது அவசியம் என்று நீங்கள் குறிப்பிடுகிறீர்கள்.

தரவு வகையின்படி ஒரு புலத்தைத் தேர்ந்தெடுக்க, செயல்பாட்டைப் பயன்படுத்தவும் select_dtypes(), மற்றும் வாதங்களில் சேர்க்கிறது அல்லது தவிர்க்க நீங்கள் தேர்ந்தெடுக்க வேண்டிய துறைகளுடன் தொடர்புடைய தரவு வகைகளின் பட்டியலை அனுப்பவும்.

பைத்தானில் நெடுவரிசைகளைத் தேர்ந்தெடுப்பது: பாண்டாக்கள்

# Выбор полей по названию
ga_nov[['date', 'source', 'sessions']]
# Исключить по названию
ga_nov.drop(['medium', 'bounces'], axis=1)
# Выбрать по регулярному выражению
ga_nov.filter(regex="s$", axis=1)
# Выбрать числовые поля
ga_nov.select_dtypes(include=['number'])
# Выбрать текстовые поля
ga_nov.select_dtypes(include=['object'])

வடிகட்டுதல் வரிசைகள்

எடுத்துக்காட்டாக, மூல அட்டவணையில் பல வருட தரவு இருக்கலாம், ஆனால் நீங்கள் கடந்த மாதத்தை மட்டுமே பகுப்பாய்வு செய்ய வேண்டும். மீண்டும், கூடுதல் கோடுகள் தரவு செயலாக்க செயல்முறையை மெதுவாக்கும் மற்றும் பிசி நினைவகத்தை அடைத்துவிடும்.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

R இல் வரிசைகளை வடிகட்டுதல்: tydyverse, dplyr

В dplyr செயல்பாடு வரிசைகளை வடிகட்ட பயன்படுகிறது filter(). இது டேட்டாஃப்ரேமை முதல் வாதமாக எடுத்துக்கொள்கிறது, பிறகு நீங்கள் வடிகட்டுதல் நிபந்தனைகளை பட்டியலிடுகிறீர்கள்.

அட்டவணையை வடிகட்ட தருக்க வெளிப்பாடுகளை எழுதும்போது, ​​இந்த விஷயத்தில், மேற்கோள்கள் இல்லாமல் மற்றும் அட்டவணையின் பெயரை அறிவிக்காமல் நெடுவரிசைப் பெயர்களைக் குறிப்பிடவும்.

வடிகட்ட பல தருக்க வெளிப்பாடுகளைப் பயன்படுத்தும் போது, ​​பின்வரும் ஆபரேட்டர்களைப் பயன்படுத்தவும்:

  • & அல்லது கமா - தருக்க மற்றும்
  • | - தருக்க அல்லது

R: dplyr இல் வரிசைகளை வடிகட்டுதல்

# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)

R இல் வரிசைகளை வடிகட்டுதல்: data.table

நான் ஏற்கனவே மேலே எழுதியது போல், இல் data.table தரவு மாற்ற தொடரியல் சதுர அடைப்புக்குறிக்குள் இணைக்கப்பட்டுள்ளது.

DT[i,j,by]

எங்கே:
நான் - எங்கே, அதாவது. வரிசைகள் மூலம் வடிகட்டுதல்
j - தேர்ந்தெடு|புதுப்பிப்பு|செய், அதாவது. நெடுவரிசைகளைத் தேர்ந்தெடுத்து அவற்றை மாற்றுதல்
மூலம் - தரவு தொகுத்தல்

வரிசைகளை வடிகட்ட வாதம் பயன்படுத்தப்படுகிறது i, இது சதுர அடைப்புக்குறிக்குள் முதல் இடத்தைப் பெற்றுள்ளது.

மேற்கோள் குறிகள் இல்லாமல் மற்றும் அட்டவணையின் பெயரைக் குறிப்பிடாமல் தருக்க வெளிப்பாடுகளில் நெடுவரிசைகள் அணுகப்படுகின்றன.

தருக்க வெளிப்பாடுகள் உள்ளதைப் போலவே ஒன்றோடொன்று தொடர்புடையவை dplyr & மற்றும் | ஆபரேட்டர்கள் மூலம்.

R இல் வரிசைகளை வடிகட்டுதல்: data.table

## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]

பைத்தானில் சரங்களை வடிகட்டுதல்: பாண்டாக்கள்

வரிசைகள் மூலம் வடிகட்டவும் pandas வடிகட்டுவதைப் போன்றது data.table, மற்றும் சதுர அடைப்புக்குறிக்குள் செய்யப்படுகிறது.

இந்த வழக்கில், தரவுச்சட்டத்தின் பெயரைக் குறிப்பிடுவதன் மூலம் நெடுவரிசைகளுக்கான அணுகல் அவசியம் மேற்கொள்ளப்படுகிறது; பின்னர் நெடுவரிசையின் பெயரை சதுர அடைப்புக்குறிக்குள் மேற்கோள் குறிகளிலும் குறிப்பிடலாம் (உதாரணமாக df['col_name']), அல்லது காலத்திற்குப் பிறகு மேற்கோள்கள் இல்லாமல் (உதாரணமாக df.col_name).

டேட்டாஃப்ரேமை பல நிபந்தனைகளால் வடிகட்ட வேண்டும் என்றால், ஒவ்வொரு நிபந்தனையும் அடைப்புக்குறிக்குள் வைக்கப்பட வேண்டும். தர்க்க நிலைமைகள் ஆபரேட்டர்களால் ஒன்றோடொன்று இணைக்கப்பட்டுள்ளன & и |.

பைத்தானில் சரங்களை வடிகட்டுதல்: பாண்டாக்கள்

# Фильтрация строк таблицы
### фильтрация строк по одному условию
ga_nov[ ga_nov['source'] == "google" ]
### фильтр по двум условиям соединённым логическим и
ga_nov[(ga_nov['source'] == "google") & (ga_nov['sessions'] >= 10)]
### фильтр по двум условиям соединённым логическим или
ga_nov[(ga_nov['source'] == "google") | (ga_nov['sessions'] >= 10)]

தரவுகளின் தொகுத்தல் மற்றும் ஒருங்கிணைத்தல்

தரவு பகுப்பாய்வில் பொதுவாகப் பயன்படுத்தப்படும் செயல்பாடுகளில் ஒன்று தொகுத்தல் மற்றும் திரட்டுதல் ஆகும்.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

இந்த செயல்பாடுகளைச் செய்வதற்கான தொடரியல் நாங்கள் மதிப்பாய்வு செய்யும் அனைத்து தொகுப்புகளிலும் சிதறடிக்கப்பட்டுள்ளது.

இந்த வழக்கில், ஒரு டேட்டாஃப்ரேமை உதாரணமாக எடுத்துக்கொள்வோம் டைட்டானிக், மற்றும் கேபின் வகுப்பைப் பொறுத்து டிக்கெட்டுகளின் எண்ணிக்கை மற்றும் சராசரி விலையைக் கணக்கிடுங்கள்.

R இல் தரவுகளை தொகுத்தல் மற்றும் திரட்டுதல்: tidyverse, dplyr

В dplyr செயல்பாடு குழுவாக பயன்படுத்தப்படுகிறது group_by(), மற்றும் திரட்டலுக்காக summarise(). உண்மையாக, dplyr செயல்பாடுகளின் முழு குடும்பமும் உள்ளது summarise_*(), ஆனால் இந்த கட்டுரையின் நோக்கம் அடிப்படை தொடரியல் ஒப்பிடுவதாகும், எனவே நாங்கள் அத்தகைய காட்டுக்குள் செல்ல மாட்டோம்.

அடிப்படை ஒருங்கிணைப்பு செயல்பாடுகள்:

  • sum() - கூட்டுத்தொகை
  • min() / max() - குறைந்தபட்ச மற்றும் அதிகபட்ச மதிப்பு
  • mean() - சராசரி
  • median() - இடைநிலை
  • length() - அளவு

R: dplyr இல் தொகுத்தல் மற்றும் திரட்டுதல்

## dplyr
### группировка и агрегация строк
group_by(titanic, Pclass) %>%
  summarise(passangers = length(PassengerId),
            avg_price  = mean(Fare))

செயல்பட group_by() நாங்கள் முதல் வாதமாக அட்டவணையைக் கடந்தோம் டைட்டானிக், பின்னர் புலத்தை சுட்டிக்காட்டியது வகுப்பு, இதன் மூலம் நாங்கள் எங்கள் அட்டவணையை குழுவாக்குவோம். ஆபரேட்டரைப் பயன்படுத்தி இந்த செயல்பாட்டின் முடிவு %>% செயல்பாட்டின் முதல் வாதமாக நிறைவேற்றப்பட்டது summarise(), மேலும் 2 புலங்களைச் சேர்த்தது: பயணிகள் и சராசரி_விலை. முதலில், செயல்பாட்டைப் பயன்படுத்துதல் length() டிக்கெட்டுகளின் எண்ணிக்கையைக் கணக்கிட்டது, இரண்டாவதாக செயல்பாட்டைப் பயன்படுத்துகிறது mean() சராசரி டிக்கெட் விலை கிடைத்தது.

R இல் தரவுகளை தொகுத்தல் மற்றும் திரட்டுதல்: data.table

В data.table வாதம் திரட்டலுக்கு பயன்படுத்தப்படுகிறது j சதுர அடைப்புக்குறிக்குள் இரண்டாவது இடத்தைப் பெற்றுள்ளது, மற்றும் குழுவாக்குவதற்கு by அல்லது keyby, இது மூன்றாவது இடத்தைப் பிடித்துள்ளது.

இந்த வழக்கில் ஒருங்கிணைப்பு செயல்பாடுகளின் பட்டியல் விவரிக்கப்பட்டுள்ளதைப் போன்றது dplyr, ஏனெனில் இவை அடிப்படை R தொடரியல் இருந்து செயல்பாடுகள்.

R இல் தொகுத்தல் மற்றும் திரட்டுதல்: data.table

## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
            avg_price  = mean(Fare)),
        by = Pclass]

பைத்தானில் தரவுகளை தொகுத்தல் மற்றும் திரட்டுதல்: பாண்டாக்கள்

குழுவாக்குதல் pandas இதற்கு ஒத்த dplyr, ஆனால் திரட்டல் ஒத்ததாக இல்லை dplyr இல்லை data.table.

குழுவாக, முறையைப் பயன்படுத்தவும் groupby(), இதில் டேட்டாஃப்ரேம் தொகுக்கப்படும் நெடுவரிசைகளின் பட்டியலை நீங்கள் அனுப்ப வேண்டும்.

திரட்டலுக்கு நீங்கள் முறையைப் பயன்படுத்தலாம் agg()இது அகராதியை ஏற்றுக்கொள்கிறது. அகராதி விசைகள் நீங்கள் திரட்டும் செயல்பாடுகளைப் பயன்படுத்தும் நெடுவரிசைகள், மேலும் மதிப்புகள் திரட்டல் செயல்பாடுகளின் பெயர்கள்.

ஒருங்கிணைப்பு செயல்பாடுகள்:

  • sum() - கூட்டுத்தொகை
  • min() / max() - குறைந்தபட்ச மற்றும் அதிகபட்ச மதிப்பு
  • mean() - சராசரி
  • median() - இடைநிலை
  • count() - அளவு

செயல்பாடு reset_index() கீழே உள்ள எடுத்துக்காட்டில் உள்ளமை குறியீடுகளை மீட்டமைக்க இது பயன்படுத்தப்படுகிறது pandas தரவு திரட்டலுக்குப் பிறகு இயல்புநிலை.

சின்னமாக அடுத்த வரிக்கு செல்ல உங்களை அனுமதிக்கிறது.

பைத்தானில் தொகுத்தல் மற்றும் திரட்டுதல்: பாண்டாக்கள்

# группировка и агрегация данных
titanic.groupby(["Pclass"]).
    agg({'PassengerId': 'count', 'Fare': 'mean'}).
        reset_index()

அட்டவணைகளின் செங்குத்து இணைப்பு

ஒரே கட்டமைப்பின் இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளை நீங்கள் இணைக்கும் செயல்பாடு. நாங்கள் ஏற்றிய தரவு அட்டவணைகளைக் கொண்டுள்ளது ga_nov и ga_dec. இந்த அட்டவணைகள் கட்டமைப்பில் ஒரே மாதிரியானவை, அதாவது. அதே நெடுவரிசைகள் மற்றும் இந்த நெடுவரிசைகளில் உள்ள தரவு வகைகள்.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

இது நவம்பர் மற்றும் டிசம்பர் மாதத்திற்கான Google Analytics இல் இருந்து பதிவேற்றம் ஆகும், இந்தப் பிரிவில் இந்தத் தரவை ஒரு அட்டவணையாக இணைப்போம்.

R இல் செங்குத்தாக இணைக்கும் அட்டவணைகள்: tidyverse, dplyr

В dplyr செயல்பாட்டைப் பயன்படுத்தி 2 அட்டவணைகளை ஒன்றாக இணைக்கலாம் bind_rows(), டேபிள்களை அதன் வாதங்களாக கடந்து செல்கிறது.

R: dplyr இல் வரிசைகளை வடிகட்டுதல்

# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)

R இல் அட்டவணைகளை செங்குத்தாக இணைக்கிறது: data.table

இது சிக்கலான ஒன்றும் இல்லை, பயன்படுத்துவோம் rbind().

R இல் வரிசைகளை வடிகட்டுதல்: data.table

## data.table
rbind(ga_nov, ga_dec)

பைத்தானில் செங்குத்தாக இணைக்கும் அட்டவணைகள்: பாண்டாக்கள்

В pandas செயல்பாடு அட்டவணைகளை இணைக்கப் பயன்படுகிறது concat(), அவற்றை இணைக்க பிரேம்களின் பட்டியலை நீங்கள் அனுப்ப வேண்டும்.

பைத்தானில் சரங்களை வடிகட்டுதல்: பாண்டாக்கள்

# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])

அட்டவணைகளின் கிடைமட்ட இணைப்பு

விசை மூலம் முதல் அட்டவணையில் இரண்டாவது நெடுவரிசைகள் சேர்க்கப்படும் ஒரு செயல்பாடு. சில குறிப்புத் தரவுகளுடன் (உதாரணமாக, ஒரு பொருளின் விலை) உண்மை அட்டவணையை (உதாரணமாக, விற்பனைத் தரவு கொண்ட அட்டவணை) வளப்படுத்தும்போது இது பெரும்பாலும் பயன்படுத்தப்படுகிறது.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

பல வகையான இணைப்புகள் உள்ளன:

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

முன்பு ஏற்றப்பட்ட அட்டவணையில் டைட்டானிக் எங்களிடம் ஒரு நெடுவரிசை உள்ளது செக்ஸ், இது பயணிகளின் பாலினக் குறியீட்டை ஒத்துள்ளது:

1 - பெண்
2 - ஆண்

மேலும், நாங்கள் ஒரு அட்டவணையை உருவாக்கியுள்ளோம் - ஒரு குறிப்பு புத்தகம் பாலினம். பயணிகளின் பாலினம் குறித்த தரவின் மிகவும் வசதியான விளக்கக்காட்சிக்கு, கோப்பகத்திலிருந்து பாலினத்தின் பெயரைச் சேர்க்க வேண்டும் பாலினம் மேஜைக்கு டைட்டானிக்.

R இல் கிடைமட்ட அட்டவணை இணைகிறது: tidyverse, dplyr

В dplyr கிடைமட்ட இணைப்பிற்கான செயல்பாடுகளின் முழு குடும்பமும் உள்ளது:

  • inner_join()
  • left_join()
  • right_join()
  • full_join()
  • semi_join()
  • nest_join()
  • anti_join()

எனது நடைமுறையில் பொதுவாகப் பயன்படுத்தப்படுவது left_join().

முதல் இரண்டு வாதங்களாக, மேலே பட்டியலிடப்பட்டுள்ள செயல்பாடுகள் சேர இரண்டு அட்டவணைகள் மற்றும் மூன்றாவது வாதமாக இருக்கும் by சேர வேண்டிய நெடுவரிசைகளை நீங்கள் குறிப்பிட வேண்டும்.

R: dplyr இல் கிடைமட்ட அட்டவணை இணைகிறது

# объединяем таблицы
left_join(titanic, gender,
          by = c("Sex" = "id"))

R இல் உள்ள அட்டவணைகளின் கிடைமட்ட இணைப்பு: data.table

В data.table செயல்பாட்டைப் பயன்படுத்தி அட்டவணைகளை விசை மூலம் இணைக்க வேண்டும் merge().

data.table இல் உள்ள merge() செயல்பாட்டிற்கான வாதங்கள்

  • x, y - சேர்வதற்கான அட்டவணைகள்
  • by — நெடுவரிசை இரண்டு அட்டவணைகளிலும் ஒரே பெயரைக் கொண்டிருந்தால் சேர வேண்டிய முக்கிய அம்சமாகும்
  • by.x, by.y — அட்டவணையில் வெவ்வேறு பெயர்கள் இருந்தால், நெடுவரிசைப் பெயர்கள் ஒன்றிணைக்கப்பட வேண்டும்
  • all, all.x, all.y — சேரும் வகை, அனைத்தும் இரண்டு அட்டவணைகளிலிருந்தும் அனைத்து வரிசைகளையும் வழங்கும், all.x என்பது இடது இணைப்புச் செயல்பாட்டிற்கு ஒத்திருக்கும் (முதல் அட்டவணையின் அனைத்து வரிசைகளையும் விட்டுவிடும்), all.y — ஒத்துள்ளது வலது சேர் செயல்பாடு (இரண்டாவது அட்டவணையின் அனைத்து வரிசைகளையும் விட்டுவிடும்).

R இல் உள்ள அட்டவணைகளின் கிடைமட்ட இணைப்பு: data.table

# объединяем таблицы
merge(titanic, gender, by.x = "Sex", by.y = "id", all.x = T)

பைத்தானில் கிடைமட்ட அட்டவணை இணைகிறது: பாண்டாக்கள்

அத்துடன் உள்ள data.tableஇல் pandas செயல்பாடு அட்டவணைகளை இணைக்கப் பயன்படுகிறது merge().

பாண்டாக்களில் ஒன்றிணைப்பு() செயல்பாட்டின் வாதங்கள்

  • எப்படி - இணைப்பு வகை: இடது, வலது, வெளி, உள்
  • on — இரண்டு அட்டவணைகளிலும் ஒரே பெயரைக் கொண்டிருந்தால் அது ஒரு விசையாகும்
  • left_on, right_on — முக்கிய நெடுவரிசைகளின் பெயர்கள், அட்டவணையில் வெவ்வேறு பெயர்கள் இருந்தால்

பைத்தானில் கிடைமட்ட அட்டவணை இணைகிறது: பாண்டாக்கள்

# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")

அடிப்படை சாளர செயல்பாடுகள் மற்றும் கணக்கிடப்பட்ட நெடுவரிசைகள்

சாளர செயல்பாடுகள் திரட்டல் செயல்பாடுகளுக்கு ஒத்ததாக இருக்கும், மேலும் அவை பெரும்பாலும் தரவு பகுப்பாய்விலும் பயன்படுத்தப்படுகின்றன. ஆனால் திரட்டல் செயல்பாடுகளைப் போலன்றி, சாளர செயல்பாடுகள் வெளிச்செல்லும் டேட்டாஃப்ரேமின் வரிசைகளின் எண்ணிக்கையை மாற்றாது.

தரவுகளுடன் பணிபுரிய எந்த மொழியை தேர்வு செய்வது - ஆர் அல்லது பைதான்? இருவரும்! பாண்டாக்களில் இருந்து டைடிவர்ஸ் மற்றும் டேட்டா.டேபிள் மற்றும் பின் நோக்கி நகர்கிறது

அடிப்படையில், சாளர செயல்பாட்டைப் பயன்படுத்தி, உள்வரும் தரவுச்சட்டத்தை சில அளவுகோல்களின்படி பகுதிகளாகப் பிரிக்கிறோம், அதாவது. ஒரு புலத்தின் மதிப்பு அல்லது பல புலங்கள் மூலம். ஒவ்வொரு சாளரத்திலும் எண்கணித செயல்பாடுகளை நாங்கள் மேற்கொள்கிறோம். இந்த செயல்பாடுகளின் முடிவு ஒவ்வொரு வரியிலும் திருப்பி அனுப்பப்படும், அதாவது. அட்டவணையில் உள்ள மொத்த வரிசைகளின் எண்ணிக்கையை மாற்றாமல்.

உதாரணமாக, அட்டவணையை எடுத்துக் கொள்வோம் டைட்டானிக். ஒவ்வொரு டிக்கெட்டின் விலையும் அதன் கேபின் வகுப்பில் எவ்வளவு சதவீதம் இருந்தது என்பதை நாம் கணக்கிடலாம்.

இதைச் செய்ய, ஒவ்வொரு வரியிலும் இந்த வரிசையில் உள்ள டிக்கெட்டைச் சேர்ந்த தற்போதைய கேபின் வகுப்பிற்கான டிக்கெட்டின் மொத்த விலையைப் பெற வேண்டும், பின்னர் ஒவ்வொரு டிக்கெட்டின் விலையையும் அதே கேபின் வகுப்பின் அனைத்து டிக்கெட்டுகளின் மொத்த விலையால் வகுக்க வேண்டும். .

R இல் சாளர செயல்பாடுகள்: டைடிவர்ஸ், டிபிளைர்

புதிய நெடுவரிசைகளைச் சேர்க்க, வரிசைக் குழுவைப் பயன்படுத்தாமல், in dplyr செயல்பாடு உதவுகிறது mutate().

புலத்தின் அடிப்படையில் தரவைத் தொகுப்பதன் மூலம் மேலே விவரிக்கப்பட்ட சிக்கலை நீங்கள் தீர்க்கலாம் வகுப்பு மற்றும் புலத்தை ஒரு புதிய நெடுவரிசையில் சுருக்கவும் கட்டணம். அடுத்து, அட்டவணையை பிரித்து, புல மதிப்புகளைப் பிரிக்கவும் கட்டணம் முந்தைய கட்டத்தில் என்ன நடந்தது.

R: dplyr இல் சாளர செயல்பாடுகள்

group_by(titanic, Pclass) %>%
  mutate(Pclass_cost = sum(Fare)) %>%
  ungroup() %>%
  mutate(ticket_fare_rate = Fare / Pclass_cost)

R இல் சாளர செயல்பாடுகள்: data.table

தீர்வு அல்காரிதம் உள்ளதைப் போலவே உள்ளது dplyr, நாம் அட்டவணையை புலம் வாரியாக சாளரங்களாக பிரிக்க வேண்டும் வகுப்பு. ஒரு புதிய நெடுவரிசையில் ஒவ்வொரு வரிசைக்கும் தொடர்புடைய குழுவிற்கான தொகையைக் காட்டவும், மேலும் அதன் குழுவில் உள்ள ஒவ்வொரு டிக்கெட்டின் விலையின் பங்கையும் கணக்கிடும் ஒரு நெடுவரிசையைச் சேர்க்கவும்.

புதிய நெடுவரிசைகளைச் சேர்க்க data.table தற்போது ஆபரேட்டர் :=. தொகுப்பைப் பயன்படுத்தி சிக்கலைத் தீர்ப்பதற்கான எடுத்துக்காட்டு கீழே உள்ளது data.table

R இல் சாளர செயல்பாடுகள்: data.table

titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost), 
        by = Pclass]

பைத்தானில் சாளர செயல்பாடுகள்: பாண்டாக்கள்

புதிய நெடுவரிசையைச் சேர்ப்பதற்கான ஒரு வழி pandas - செயல்பாட்டைப் பயன்படுத்தவும் assign(). வரிசைகளை தொகுக்காமல், கேபின் வகுப்பின் மூலம் டிக்கெட்டுகளின் விலையை சுருக்கமாகக் கூற, நாங்கள் செயல்பாட்டைப் பயன்படுத்துவோம் transform().

கீழே நாம் அட்டவணையில் சேர்க்கும் ஒரு தீர்வுக்கான எடுத்துக்காட்டு டைட்டானிக் அதே 2 நெடுவரிசைகள்.

பைத்தானில் சாளர செயல்பாடுகள்: பாண்டாக்கள்

titanic.assign(Pclass_cost      =  titanic.groupby('Pclass').Fare.transform(sum),
               ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])

செயல்பாடுகள் மற்றும் முறைகள் கடித அட்டவணை

நாங்கள் பரிசீலித்த தொகுப்புகளில் உள்ள தரவுகளுடன் பல்வேறு செயல்பாடுகளைச் செய்வதற்கான முறைகளுக்கு இடையிலான கடித அட்டவணை கீழே உள்ளது.

விளக்கம்
நேர்த்தியான
தரவு. அட்டவணை
பாண்டாக்கள்

தரவை ஏற்றுகிறது
vroom()/ readr::read_csv() / readr::read_tsv()
fread()
read_csv()

டேட்டாஃப்ரேம்களை உருவாக்குதல்
tibble()
data.table()
dict() + from_dict()

நெடுவரிசைகளைத் தேர்ந்தெடுப்பது
select()
வாதம் j, சதுர அடைப்புக்குறிக்குள் இரண்டாவது நிலை
தேவையான நெடுவரிசைகளின் பட்டியலை சதுர அடைப்புக்குறிக்குள் அனுப்புகிறோம் / drop() / filter() / select_dtypes()

வடிகட்டுதல் வரிசைகள்
filter()
வாதம் i, சதுர அடைப்புக்குறிக்குள் முதல் நிலை
வடிகட்டுதல் நிலைகளை சதுர அடைப்புக்குறிக்குள் பட்டியலிடுகிறோம் / filter()

தொகுத்தல் மற்றும் திரட்டுதல்
group_by() + summarise()
வாதங்கள் j + by
groupby() + agg()

அட்டவணைகளின் செங்குத்து ஒன்றியம் (UNION)
bind_rows()
rbind()
concat()

அட்டவணைகளின் கிடைமட்ட இணைப்பு (JOIN)
left_join() / *_join()
merge()
merge()

அடிப்படை சாளர செயல்பாடுகள் மற்றும் கணக்கிடப்பட்ட நெடுவரிசைகளைச் சேர்த்தல்
group_by() + mutate()
வாதம் j ஆபரேட்டரைப் பயன்படுத்தி := + வாதம் by
transform() + assign()

முடிவுக்கு

கட்டுரையில் நான் தரவு செயலாக்கத்தின் மிகவும் உகந்த செயலாக்கங்களை விவரிக்கவில்லை, எனவே கருத்துகளில் எனது தவறுகளை நீங்கள் சரிசெய்தால் நான் மகிழ்ச்சியடைவேன் அல்லது R / Python இல் தரவுகளுடன் பணிபுரியும் பிற நுட்பங்களுடன் கட்டுரையில் கொடுக்கப்பட்டுள்ள தகவல்களை வெறுமனே கூடுதலாக வழங்குவேன்.

நான் மேலே எழுதியது போல், கட்டுரையின் நோக்கம் எந்த மொழி சிறந்தது என்பதில் ஒருவரின் கருத்தை திணிப்பது அல்ல, ஆனால் இரு மொழிகளையும் கற்றுக்கொள்வதற்கான வாய்ப்பை எளிதாக்குவது அல்லது தேவைப்பட்டால், அவற்றுக்கிடையே இடம்பெயர்வது.

கட்டுரை உங்களுக்கு பிடித்திருந்தால், எனது புதிய சந்தாதாரர்களைப் பெற்றதில் நான் மகிழ்ச்சியடைவேன் YouTube и தந்தி சேனல்கள்.

பேட்டியில்

உங்கள் வேலையில் பின்வரும் தொகுப்புகளில் எதைப் பயன்படுத்துகிறீர்கள்?

கருத்துகளில் உங்கள் விருப்பத்திற்கான காரணத்தை எழுதலாம்.

பதிவு செய்த பயனர்கள் மட்டுமே கணக்கெடுப்பில் பங்கேற்க முடியும். உள்நுழையவும், தயவு செய்து.

நீங்கள் எந்த தரவு செயலாக்க தொகுப்பைப் பயன்படுத்துகிறீர்கள் (நீங்கள் பல விருப்பங்களைத் தேர்ந்தெடுக்கலாம்)

  • 45,2%ஒழுங்குமுறை19

  • 33,3%data.table14

  • 54,8%பாண்டாக்கள்23

42 பயனர்கள் வாக்களித்தனர். 9 பயனர்கள் வாக்களிக்கவில்லை.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்