字符文本
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)
结果截图