python_analytics

主にpythonやライブラリーを使ったデータ解析、機械学習、統計学などについて書いていきます

python 正規表現について

python 正規表現について

特殊シーケンス 説明 同義のパターン
\d 任意の数字 [0-9]
\D 任意の数字以外 [^0-9]
\s 任意の空白文字 [\t\n\r\f\v]
\S 任意の空白文字以外 [^\t\n\r\f\v]
\w 任意の英数字 [a-xA-Z0-9_]
\W 任意の英数字以外 [\a-xA-Z0-9_]
\A 文字列の先頭 ^
\Z 文字列の末尾 $
文字 説明 マッチする例
? 0回または1回 ab? a, ab
. 任意の一文字 a.c abc, acc, aac
^ 文字列の先頭 ^abc abcdef
$ 文字列の末尾 abc$ defabc
* 0回以上の繰り返し ab* a, ab, abb, abbb
+ 1回以上の繰り返し ab+ ab, abb, abbb
{n} n回の繰り返し a{2} aa
和集合(または) a|b | a, b
() グループ化 (abc)+ abc, abcabc

,,,python report[report['ランディング ページ'].str.contains('12')] ,,,

文字列を含む条件分岐

def func_cate(x):
    if  "test" in x:
        return "0"
    elif "test1" in x:
        return "1"
    elif test2" in x:
        return "2"
rename1['cate'] = rename1['ページ タイトル'].apply(func_cate)
rename1.tail(10)

https://support.google.com/analytics/answer/1034324?hl=ja

support.google.com

python seleniumでスクレイピング

seleniumスクレイピングして、タイトルとURLをCSVに保存する。

from selenium import webdriver

browser = webdriver.Firefox()
url = "http://b.hatena.ne.jp/search/text?safe=on&q=Python&users=5"
browser.get(url)
df2 = pd.read_csv('trend.csv', index_col=0)
posts = browser.find_elements_by_css_selector(".search-result")

for post in posts:
    title = post.find_element_by_css_selector("h3").text
    bookmarks = post.find_element_by_css_selector('h3 > a').get_attribute('href')
    se = pd.Series([title,bookmarks],['title','bookmarks'])
    df2 = df2.append(se, ignore_index=True)
df2.to_csv("trend2.csv")