pandas入門 列名を指定して配列を代入する
03 04, 2019
データをいろいろ扱いたい
pandasには、データを扱うための色々な便利な関数があります。 今回は列名を指定して値を代入したいと思います。
元となるデータ
元となるデータはCrieitさんのタイトル一覧です。
from bs4 import BeautifulSoup
import requests
import pandas as pd
columns = ['title']
df = pd.DataFrame(columns=columns)
base_url = "https://crieit.net/posts?page="
num = 1
while num <= 1:
url=base_url+ str(num)
r = requests.get(url)
soup = BeautifulSoup(r.text)
titles =soup.select("h5 a")
if len(titles) == 0:
print("これ以上記事はありません")
break
num += 1
for title in titles:
se= pd.Series(title.text, columns)
df = df.append(se, ignore_index=True)
df
列名を指定して値を代入する方法
pandasで値を代入するには
df[列名]=[配列]
と書くだけです。
今回は10までの配列を用意しました。
出来たコード
from bs4 import BeautifulSoup
import requests
import pandas as pd
columns = ['title']
df = pd.DataFrame(columns=columns)
arr =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
base_url = "https://crieit.net/posts?page="
num = 1
while num <= 1:
url=base_url+ str(num)
r = requests.get(url)
soup = BeautifulSoup(r.text)
titles =soup.select("h5 a")
if len(titles) == 0:
print("これ以上記事はありません")
break
num += 1
for title in titles:
se= pd.Series(title.text, columns)
df = df.append(se, ignore_index=True)
df["num"]=arr
df
出力サンプル
numの列ができて数値が1から20まで並びました。