字符文本
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({'name':['jack','MIKE']})
df['name'] = df['name'].str.upper() #全部轉化爲大寫
時間序列
可以使用pd.date_range(start=None, end=None, periods=None, freq='D')
生成時間範圍。
- start和end以及freq配合能夠生成start和end範圍內以頻率freq的一組時間索引
- start和periods以及freq配合能夠生成從start開始的頻率爲freq的periods個時間索引
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)
結果截圖