Skip to main content

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

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

If you're not sure about the file name format, learn more about wheel file names.

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.

Release history Release notifications | RSS feed

This release

0.9.8.1 This release

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6.3

2 files

0.9.6.2

2 files

0.9.6.1

2 files

0.9.6

2 files

0.9.5.3

2 files

0.9.5.2

2 files

0.9.5.1

2 files

0.9.5.0

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

1 file

0.6.5

2 files

0.1.0

3 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page