anaconda3之pandas主要用法

1 安装

anaconda3安装时无需安装python,其内置有python3和spyder IDE开发环境。下载地址: https://www.anaconda.com/products/individual.。win10安装时,需配置环境变量,才能在命令行中输入python直接调用python命令行。可在开始菜单直接寻找python命令行工具和spyder IDE工具。

2 使用pandas

接口网址:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_table.html
常用数据结构:
DataFrame:二维的表格型数据结构。
Series:一维数组。

2.1 使用正则表达式提取数据

首字母a或b开头,其后大于等于0个数字,将首字母和数字分为两列。

import pandas as pd

s = pd.Series(['a12', 'b2', 'c3'])
#提取数据
n= s.str.extract(r'([ab])(\d*)')
print(n)
# 给列名c1,c2
n = s.str.extract(r'(?P<c1>[ab])(?P<c2>\d*)')
print(n)

结果:

     0    1
0    a   12
1    b    2
2  NaN  NaN
    c1   c2
0    a   12
1    b    2
2  NaN  NaN

2.2 read_table读取文件作为表格处理

接口参数说明:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_table.html
返回类型时DataFrame

2021-04-21|a|1
2021-04-22|b|2
2021-04-23|c|3
2021-04-24|d|4
import pandas as pd
df =  pd.read_table("./data1.txt",header=None,encoding='utf8',sep='|')
df.columns = ["日期",'内容1','内容2']
print(df)

结果:

           日期 内容1  内容2
0  2021-04-21   a    1
1  2021-04-22   b    2
2  2021-04-23   c    3
3  2021-04-24   d    4

2.3 字符串处理常用函数

大小写转换

import pandas as pd 

data = {'Name':['Jack', 'Jucy', 'Join', 'Luch']} 
df = pd.DataFrame(data) 
print(df)
print("--转换小写--")
# 对整列进行处理
df["Name"]= df["Name"].str.lower()
print(df)
df["Name"]= df["Name"].str.upper()
print("--转换大写--")
print(df)
>>>

拆分替换数据

import pandas as pd 

data = {'Address':['山东省 济南市 历城区','山东省 济南市 历城区','山东省 济南市 历城区','山东省 济南市 历城区','山东省 济南市 历城区'],"Age":[25,24,23,26,26]}
df = pd.DataFrame(data) 
print(df)
# 避免存在null的数据,若存在,则用None代替整个DataFrame
df.dropna(inplace = True) 
df["Address"]= df["Address"].str.split(" ", n = 1, expand = True) 
print(df)
df["Age"]= df["Age"].replace(26, "Twenty six")
print(df)
# 结果
       Address  Age
0  山东省 济南市 历城区   25
1  山东省 济南市 历城区   24
2  山东省 济南市 历城区   23
3  山东省 济南市 历城区   26
4  山东省 济南市 历城区   26
  Address  Age
0     山东省   25
1     山东省   24
2     山东省   23
3     山东省   26
4     山东省   26
  Address         Age
0     山东省          25
1     山东省          24
2     山东省          23
3     山东省  Twenty six
4     山东省  Twenty six

数据串联

import pandas as pd 

data = {'provice':['山东','山东'],'city':["青岛","济南"]}
df = pd.DataFrame(data) 
print(df)
# 复制
new = df["city"].copy()
df["city"]= df["provice"].str.cat(new, sep =", ")
print(df)
# 结果
  provice city
0      山东   青岛
1      山东   济南
  provice    city
0      山东  山东, 青岛
1      山东  山东, 济南

删除空白

import pandas as pd 

data = {'city':["青岛  ","  济南  "],"name":[1,1]}
df = pd.DataFrame(data) 
print(df)
df["city"] = df['city'].str.strip()
print(df)
# 结果
     city  name
0    青岛       1
1    济南       1
  city  name
0   青岛     1
1   济南     1
功能描述
str.lower字符大小写转换
str.upper-
str.find搜索序列中存在的每个字符串中的子字符串
str.rfind从右侧搜索系列中存在的每个字符串中的子字符串
str.findall在系列中的每个字符串中查找子字符串或分隔符
str.isalpha检查序列中每个字符串中的所有字符是否都是字母(az / AZ)
str.isdecimal检查字符串中的所有字符是否均为十进制
str.title字符串中每个单词的首字母大写的方法
str.len返回字符串中字符数的计数,len(str)
str.replace方法用提供的另一个值替换字符串中的子字符串
str.contains方法测试模式或正则表达式是否包含在系列或索引的字符串中
str.extract从正则表达式模式的第一个匹配项中提取组。
str.startswith方法测试每个字符串元素的开头是否与模式匹配
str.endswith方法测试每个字符串元素的末尾是否与模式匹配
str.isdigit检查序列中每个字符串中的所有字符是否都是数字的方法
str.lstrip从字符串的左侧(开头)删除空格
str.rstrip从字符串的右侧(结尾)删除空格
str.strip删除开头和结尾空格
str.split根据指定的值的出现来拆分字符串值
str.join通过传递的定界符连接列表中存在的所有元素
str.cat将字符串连接到传递的字符串系列。
str.repeat用于在传递的序列本身的相同位置重复字符串值
str.get用于获取通过位置的元素
str.partition与str.split()不同,该方法仅在第一次出现时才拆分字符串
str.rpartition方法仅将字符串拆分一次,而且也相反。它的工作方式类似于str.partition()和str.split()
str.pad将填充(空格或其他字符)添加到系列中的每个字符串元素的方法
str.swapcase交换系列中每个字符串的大小写的方法

参考:

链接: https://mp.weixin.qq.com/s/mmirSXKc9YAyZrxqZ03kPw.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值