Skip to main content

No project description provided

Project description

Neat Panda

pypi Build Status Supported

Neat Panda contains three main methods/functions, spread, gather and clean_columnames. The ideas for these methods are from the spread and gather functions in the R package tidyr and the make_clean_columns function in the R package janitor.

The spread function is syntactic sugar for the pandas library method pivot and the gather method is syntactic sugar for the pandas method melt.

Features

clean_column_names

import neat_panda

print(df.columns.tolist())
["Country    ", "Sub$region", "Actual"]

df = df.clean_column_names()

print(df.columns.tolist())
["country", "sub_region", "actual"]

spread

R

library(tidyr)
library(dplyr)
library(gapminder)

gapminder2 <- gapminder %>% select(country, continent, year, pop)
gapminder3 <- gapminder2 %>% spread(key = year, value = pop)
head(gapminder3, n = 5)

Python

import neat_panda
from gapminder import gapminder

gapminder2 = gapminder[["country", "continent", "year", "pop"]]
gapminder3 = gapminder2.spread(key="year", value="pop")

gapminder3.head()
Output R
# A tibble: 5 x 14
  country     continent   `1952`   `1957`   `1962`   `1967`   `1972`   `1977`   `1982`   `1987`   `1992`   `1997`   `2002`   `2007`
  <fct>       <fct>        <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>    <int>
1 Afghanistan Asia       8425333  9240934 10267083 11537966 13079460 14880372 12881816 13867957 16317921 22227415 25268405 31889923
2 Albania     Europe     1282697  1476505  1728137  1984060  2263554  2509048  2780097  3075321  3326498  3428038  3508512  3600523
3 Algeria     Africa     9279525 10270856 11000948 12760499 14760787 17152804 20033753 23254956 26298373 29072015 31287142 33333216
4 Angola      Africa     4232095  4561361  4826015  5247469  5894858  6162675  7016384  7874230  8735988  9875024 10866106 12420476
5 Argentina   Americas  17876956 19610538 21283783 22934225 24779799 26983828 29341374 31620918 33958947 36203463 38331121 40301927
Output Python
       country continent      1952      1957      1962      1967      1972      1977      1982      1987      1992      1997      2002      2007
0  Afghanistan      Asia   8425333   9240934  10267083  11537966  13079460  14880372  12881816  13867957  16317921  22227415  25268405  31889923
1      Albania    Europe   1282697   1476505   1728137   1984060   2263554   2509048   2780097   3075321   3326498   3428038   3508512   3600523
2      Algeria    Africa   9279525  10270856  11000948  12760499  14760787  17152804  20033753  23254956  26298373  29072015  31287142  33333216
3       Angola    Africa   4232095   4561361   4826015   5247469   5894858   6162675   7016384   7874230   8735988   9875024  10866106  12420476
4    Argentina  Americas  17876956  19610538  21283783  22934225  24779799  26983828  29341374  31620918  33958947  36203463  38331121  40301927

gather

R

library(tidyr)

# gapminder3 is obtained as above
gapminder4 <- gather(gapminder3, key="year", "value"="pop", 3:14)
# or
years <- c("1952", "1957", "1962", "1967", "1972", "1977", "1982", "1987", "1992", "1997", "2002", "2007")
gapminder4 <- gather(gapminder3, key="year", "value"="pop", years)

head(gapminder4, n = 5)

Python

import neat_panda

# gapminder3 is obtained as above
gapminder4 = gapminder3.gather(key="year", value="pop", columns=range(2, 13))
# or
gapminder4 = gapminder3.gather(key="year", value="pop", columns=range(0, 2), invert_columns=True)
# or
years = ["1952", "1957", "1962", "1967", "1972", "1977", "1982", "1987", "1992", "1997", "2002", "2007"]
gapminder4 = gapminder3.gather(key="year", value="pop", columns=years)
# or
gapminder4 = gapminder3.gather(key="year", value="pop", columns=["country", "continent"], invert_columns=True)

gapminder4.head()
Output R
# A tibble: 5 x 4
  country     continent year       pop
  <fct>       <fct>     <chr>    <int>
1 Afghanistan Asia      1952   8425333
2 Albania     Europe    1952   1282697
3 Algeria     Africa    1952   9279525
4 Angola      Africa    1952   4232095
5 Argentina   Americas  1952  17876956
Output Python
       country continent  year       pop
0  Afghanistan      Asia  1952   8425333
1      Albania    Europe  1952   1282697
2      Algeria    Africa  1952   9279525
3       Angola    Africa  1952   4232095
4    Argentina  Americas  1952  17876956

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neat_panda-0.9.8.1.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

neat_panda-0.9.8.1-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file neat_panda-0.9.8.1.tar.gz.

File metadata

  • Download URL: neat_panda-0.9.8.1.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.1 Windows/10

File hashes

Hashes for neat_panda-0.9.8.1.tar.gz
Algorithm Hash digest
SHA256 76d6d54243e227fd81a7a0611d12ebb4868d9fcee66fc5d134ccf64f5c7cb359
MD5 f287fb5a7b94532b9d82a93a44185d85
BLAKE2b-256 8ee44229b550335979578f5949aeff00c91384a8c2643bbfeba363385dd2ffe5

See more details on using hashes here.

File details

Details for the file neat_panda-0.9.8.1-py3-none-any.whl.

File metadata

  • Download URL: neat_panda-0.9.8.1-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.3 CPython/3.8.1 Windows/10

File hashes

Hashes for neat_panda-0.9.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c0a933e19d71c1ca60fd2f20ba3e01aef37497e78cca64cd00e4e751621cd3
MD5 207b3d6daad053d5bfa66857ffac689c
BLAKE2b-256 2e310230211aa39f129f48f31128861e56408a783c8dbab6527521eaf1e54441

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page