Pandas文字資料處理與時間序列

2021-10-06 01:41:14 字數 2012 閱讀 3265

字元文字

pandas提供了一組字串函式,可以方便地對字串資料進行操作。 最重要的是,這些函式忽略nan值。以下的這些方法幾乎都支援python內建的字串函式。pandas的一些方法都支援正規表示式,比如下面的replace(),可以多多嘗試/xyx。

函式名描述

lower()

將series/index中的字串轉換為小寫。

upper()

將series/index中的字串轉換為大寫。

len()

計算字串長度。

strip()

幫助從兩側的系列/索引中的每個字串中刪除空格(包括換行符)。

split(』』)

用給定的模式拆分每個字串。

cat(sep=』 ')

使用給定的分隔符連線系列/索引元素。

get_dummies()

返回具有單熱編碼值的資料幀(dataframe)。

contains(pattern)

如果元素中包含子字串,則返回每個元素的布林值true,否則為false。

replace(a,b)

將值a替換為值b。

repeat(value)

重複每個元素指定的次數。

count(pattern)

返回模式中每個元素的出現總數。

startswith(pattern)

如果系列/索引中的元素以模式開始,則返回true。

endswith(pattern)

如果系列/索引中的元素以模式結束,則返回true。

find(pattern)

返回模式第一次出現的位置。

findall(pattern)

返回模式的所有出現的列表。

swapcase()

變換字母大小寫。

islower()

檢查系列/索引中每個字串中的所有字元是否小寫,返回布林值

isupper()

檢查系列/索引中每個字串中的所有字元是否大寫,返回布林值

isnumeric()

檢查系列/索引中每個字串中的所有字元是否為數字,返回布林值。

上述的方法按需汲取即可,唯一要注意的是,在選擇以後注意使用str轉化為字串,這樣才有效。

比如

import pandas

df = pd.dataframe(

)df[

'name'

]= df[

'name'].

str.upper(

)#全部轉化為大寫

時間序列可以使用pd.date_range(start=none, end=none, periods=none, freq='d')生成時間範圍。

freq的可取值:

**演示

import numpy as np

import pandas as pd

index1 = pd.date_range(

'2020-05-14'

,freq=

"d",periods=5)

df = pd.dataframe(np.random.rand(5)

,index=index1)

index2=pd.date_range(

'2020-6-16 12:45'

,freq=

"t",periods=5)

ndf = pd.dataframe(np.random.rand(5)

,index=index2)

結果截圖

文字資料處理彙總

1.匹配中文 曾經看到說 w 可以,但親測無效。轉向編碼的形式 u4e00 u9fa5 也不行,只能是 u4e00 u9fcc 2.不匹配某個字串 中間不包含str1 pattern str2 開頭不包含 pattern str 結尾不包含str1.嗎 或者str1 嗎 3.零寬斷言 1.正向肯定預...

pandas處理大文字資料

當資料檔案是百萬級資料時,設定chunksize來分批次處理資料 案例 美國 競選時的資料分析 讀取資料 import numpy as np import pandas as pd from pandas import series,dataframe df1 pd.read csv usa el...

pandas文字資料

文字資料 string型別的性質 string與object的區別 字元訪問方法 string accessor methods,如str.count 會返回相應資料的nullable型別,而object會隨著缺失值的存在而改變返回型別 某些series 法不能在string上使 如 series....