Hub documentation

Transforming your dataset

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Transforming your dataset

ใ“ใฎใƒšใƒผใ‚ธใงใฏใ€ใƒ‡ใƒผใ‚ฟๅˆ†ๆžใงใ‚ˆใไฝฟใ‚ใ‚Œใ‚‹ไธ€่ˆฌ็š„ใชๆ“ไฝœใฎไธ€้ƒจใซใคใ„ใฆใ”ๆกˆๅ†…ใ—ใพใ™ใ€‚ใ“ใ‚ŒใฏPolarsใงๅฏ่ƒฝใชๆฉŸ่ƒฝใฎใ”ใไธ€้ƒจใซ้ŽใŽใพใ›ใ‚“ใ€‚่ฉณ็ดฐใซใคใ„ใฆใฏใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใ‚’ใ”่ฆงใใ ใ•ใ„ใ€‚

ใ“ใฎไพ‹ใงใฏใ€Common Crawl statistics ใƒ‡ใƒผใ‚ฟใ‚ปใƒƒใƒˆใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚ใ“ใ‚Œใ‚‰ใฎ็ตฑ่จˆใซใฏใ€ใƒšใƒผใ‚ธๆ•ฐใ€ใƒˆใƒƒใƒ—ใƒฌใƒ™ใƒซใƒ‰ใƒกใ‚คใƒณใฎๅˆ†ๅธƒใ€ใ‚ฏใƒญใƒผใƒซใฎ้‡่ค‡ใชใฉใŒๅซใพใ‚Œใพใ™ใ€‚ใ‚ˆใ‚Š่ฉณ็ดฐใชๆƒ…ๅ ฑใ‚„ใ‚ฐใƒฉใƒ•ใซใคใ„ใฆใฏใ€ๅ…ฌๅผ็ตฑ่จˆใƒšใƒผใ‚ธใ‚’ใ”่ฆงใใ ใ•ใ„ใ€‚

่ชญใฟๅ–ใ‚Š

import polars as pl

df = pl.read_csv(
    "hf://datasets/commoncrawl/statistics/tlds.csv",
    try_parse_dates=True,
)
df.head(3)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚     โ”† suffix โ”† crawl             โ”† date       โ”† โ€ฆ โ”† pages โ”† urls โ”† hosts โ”† domains โ”‚
โ”‚ --- โ”† ---    โ”† ---               โ”† ---        โ”†   โ”† ---   โ”† ---  โ”† ---   โ”† ---     โ”‚
โ”‚ i64 โ”† str    โ”† str               โ”† date       โ”†   โ”† i64   โ”† i64  โ”† f64   โ”† f64     โ”‚
โ•žโ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
โ”‚ 0   โ”† a.se   โ”† CC-MAIN-2008-2009 โ”† 2009-01-12 โ”† โ€ฆ โ”† 18    โ”† 18   โ”† 1.0   โ”† 1.0     โ”‚
โ”‚ 1   โ”† a.se   โ”† CC-MAIN-2009-2010 โ”† 2010-09-25 โ”† โ€ฆ โ”† 3462  โ”† 3259 โ”† 166.0 โ”† 151.0   โ”‚
โ”‚ 2   โ”† a.se   โ”† CC-MAIN-2012      โ”† 2012-11-02 โ”† โ€ฆ โ”† 6957  โ”† 6794 โ”† 172.0 โ”† 150.0   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๅˆ—ใฎ้ธๆŠž

ใƒ‡ใƒผใ‚ฟใ‚ปใƒƒใƒˆใซใฏไธ่ฆใชใ‚ซใƒฉใƒ ใŒๅซใพใ‚Œใฆใ„ใพใ™ใ€‚ใใ‚Œใ‚‰ใ‚’ๅ‰Š้™คใ™ใ‚‹ใซใฏใ€selectใƒกใ‚ฝใƒƒใƒ‰ใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚

df = df.select("suffix", "date", "tld", "pages", "domains")
df.head(3)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ suffix โ”† crawl             โ”† date       โ”† tld โ”† pages โ”† domains โ”‚
โ”‚ ---    โ”† ---               โ”† ---        โ”† --- โ”† ---   โ”† ---     โ”‚
โ”‚ str    โ”† str               โ”† date       โ”† str โ”† i64   โ”† f64     โ”‚
โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
โ”‚ a.se   โ”† CC-MAIN-2008-2009 โ”† 2009-01-12 โ”† se  โ”† 18    โ”† 1.0     โ”‚
โ”‚ a.se   โ”† CC-MAIN-2009-2010 โ”† 2010-09-25 โ”† se  โ”† 3462  โ”† 151.0   โ”‚
โ”‚ a.se   โ”† CC-MAIN-2012      โ”† 2012-11-02 โ”† se  โ”† 6957  โ”† 150.0   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐ

filter ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ไฝฟ็”จใ—ใฆใ€ใƒ‡ใƒผใ‚ฟใ‚ปใƒƒใƒˆใ‚’ใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐใงใใพใ™ใ€‚ใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใฏ่ค‡้›‘ใชๅผใ‚’ๅ—ใ‘ๅ–ใ‚Œใพใ™ใŒใ€ใพใšใฏใ‚ฏใƒญใƒผใƒซๆ—ฅไป˜ใซๅŸบใฅใ„ใฆใƒ•ใ‚ฃใƒซใ‚ฟใƒชใƒณใ‚ฐใ™ใ‚‹็ฐกๅ˜ใชไพ‹ใ‹ใ‚‰ๅง‹ใ‚ใพใ—ใ‚‡ใ†ใ€‚

import datetime

df = df.filter(pl.col("date") >= datetime.date(2020, 1, 1))

& ใพใŸใฏ | ๆผ”็ฎ—ๅญใ‚’ไฝฟ็”จใ—ใฆใ€่ค‡ๆ•ฐใฎ่ฟฐ่ชžใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ“ใจใŒใงใใพใ™:

df = df.filter(
    (pl.col("date") >= datetime.date(2020, 1, 1)) |
    pl.col("crawl").str.contains("CC")
)

ๅค‰ๆ›

ใƒ‡ใƒผใ‚ฟใ‚ปใƒƒใƒˆใซๆ–ฐใ—ใ„ใ‚ซใƒฉใƒ ใ‚’่ฟฝๅŠ ใ™ใ‚‹ใซใฏใ€with_columnsใ‚’ไฝฟ็”จใ—ใพใ™ใ€‚ไปฅไธ‹ใฎไพ‹ใงใฏใ€ใƒ‰ใƒกใ‚คใƒณใ”ใจใฎใƒšใƒผใ‚ธ็ทๆ•ฐใ‚’่จˆ็ฎ—ใ—ใ€aliasใƒกใ‚ฝใƒƒใƒ‰ใ‚’ไฝฟ็”จใ—ใฆๆ–ฐใ—ใ„ใ‚ซใƒฉใƒ pages_per_domainใ‚’่ฟฝๅŠ ใ—ใฆใ„ใพใ™ใ€‚with_columnsๅ†…ใฎใ‚นใƒ†ใƒผใƒˆใƒกใƒณใƒˆๅ…จไฝ“ใ‚’ๅผใจๅ‘ผใณใพใ™ใ€‚ๅผใฎ่ฉณ็ดฐใจใใฎไฝฟใ„ๆ–นใฏใ€Polarsใƒฆใƒผใ‚ถใƒผใ‚ฌใ‚คใƒ‰ใ‚’ๅ‚็…งใ—ใฆใใ ใ•ใ„ใ€‚

df = df.with_columns(
    (pl.col("pages") / pl.col("domains")).alias("pages_per_domain")
)
df.sample(3)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ suffix โ”† crawl           โ”† date       โ”† tld โ”† pages โ”† domains โ”† pages_per_domain โ”‚
โ”‚ ---    โ”† ---             โ”† ---        โ”† --- โ”† ---   โ”† ---     โ”† ---              โ”‚
โ”‚ str    โ”† str             โ”† date       โ”† str โ”† i64   โ”† f64     โ”† f64              โ”‚
โ•žโ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
โ”‚ net.bt โ”† CC-MAIN-2014-41 โ”† 2014-10-06 โ”† bt  โ”† 4     โ”† 1.0     โ”† 4.0              โ”‚
โ”‚ org.mk โ”† CC-MAIN-2016-44 โ”† 2016-10-31 โ”† mk  โ”† 1445  โ”† 430.0   โ”† 3.360465         โ”‚
โ”‚ com.lc โ”† CC-MAIN-2016-44 โ”† 2016-10-31 โ”† lc  โ”† 1     โ”† 1.0     โ”† 1.0              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

้›†็ด„ใจใ‚ฝใƒผใƒˆ

ใƒ‡ใƒผใ‚ฟใ‚’้›†็ด„ใ™ใ‚‹ใซใฏใ€group_byใ€aggใ€sort ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ไฝฟ็”จใงใใพใ™ใ€‚้›†็ด„ใฎใ‚ณใƒณใƒ†ใ‚ญใ‚นใƒˆๅ†…ใงใฏใ€ๅผใ‚’็ต„ใฟๅˆใ‚ใ›ใ‚‹ใ“ใจใงใ€่ชญใฟใ‚„ใ™ใ•ใ‚’ไฟใกใคใคๅผทๅŠ›ใชใ‚นใƒ†ใƒผใƒˆใƒกใƒณใƒˆใ‚’ไฝœๆˆใงใใพใ™ใ€‚

ใพใšใ€ใ‚นใ‚ฏใƒฌใ‚คใƒ”ใƒณใ‚ฐๆ—ฅใ”ใจใซใ€ใ™ในใฆใฎใƒ‡ใƒผใ‚ฟใ‚’ใƒˆใƒƒใƒ—ใƒฌใƒ™ใƒซใƒ‰ใƒกใ‚คใƒณtldใซ้›†็ด„ใ—ใพใ™:

df = df.group_by("tld", "date").agg(
    pl.col("pages").sum(),
    pl.col("domains").sum(),
)

ใ“ใ‚Œใงใ€ใƒˆใƒƒใƒ—ใƒฌใƒ™ใƒซใƒ‰ใƒกใ‚คใƒณใ”ใจใซใ„ใใคใ‹ใฎ็ตฑ่จˆ้‡ใ‚’่จˆ็ฎ—ใงใใพใ™ใ€‚

  • ๅ›บๆœ‰ใฎใ‚นใ‚ฏใƒฌใ‚คใƒ—ๆ—ฅไป˜ใฎๆ•ฐ
  • ใ‚นใ‚ฏใƒฌใ‚คใƒ”ใƒณใ‚ฐๆœŸ้–“ไธญใฎใƒ‰ใƒกใ‚คใƒณใฎๅนณๅ‡ๆ•ฐ
  • ใƒšใƒผใ‚ธๆ•ฐใซใŠใ‘ใ‚‹ๅนณๅ‡ๆˆ้•ท็އ
df = df.group_by("tld").agg(
    pl.col("date").unique().count().alias("number_of_scrapes"),
    pl.col("domains").mean().alias("avg_number_of_domains"),
    pl.col("pages").sort_by("date").pct_change().mean().alias("avg_page_growth_rate"),
)
df = df.sort("avg_number_of_domains", descending=True)
df.head(10)
โ”Œโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ tld โ”† number_of_scrapes โ”† avg_number_of_domains โ”† avg_percent_change_in_number_oโ€ฆ โ”‚
โ”‚ --- โ”† ---               โ”† ---                   โ”† ---                             โ”‚
โ”‚ str โ”† u32               โ”† f64                   โ”† f64                             โ”‚
โ•žโ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ก
โ”‚ com โ”† 101               โ”† 1.9571e7              โ”† 0.022182                        โ”‚
โ”‚ de  โ”† 101               โ”† 1.8633e6              โ”† 0.5232                          โ”‚
โ”‚ org โ”† 101               โ”† 1.5049e6              โ”† 0.019604                        โ”‚
โ”‚ net โ”† 101               โ”† 1.5020e6              โ”† 0.021002                        โ”‚
โ”‚ cn  โ”† 101               โ”† 1.1101e6              โ”† 0.281726                        โ”‚
โ”‚ ru  โ”† 101               โ”† 1.0561e6              โ”† 0.416303                        โ”‚
โ”‚ uk  โ”† 101               โ”† 827453.732673         โ”† 0.065299                        โ”‚
โ”‚ nl  โ”† 101               โ”† 710492.623762         โ”† 1.040096                        โ”‚
โ”‚ fr  โ”† 101               โ”† 615471.594059         โ”† 0.419181                        โ”‚
โ”‚ jp  โ”† 101               โ”† 615391.455446         โ”† 0.246162                        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Update on GitHub