Python 实用函数和方法
| 目的 | 函数/方法 | 例子 |
|---|---|---|
| 导入包 | import | import pandas as pd |
| 导入数据 | Pandas - read_csv | Shanghai_data = pd.read_csv('ShanghaiPM20100101_20151231.csv') |
| 查看数据的前几列 | Pandas - head | Shanghai_data.head() |
| 查看数据信息 | Pandas - info | Shanghai_data.info() |
| 查看数据类型 | type | print(type(Shanghai_data['cbwd'][0])) |
| 内容替换 | replace | Shanghai_data.columns = [c.replace(' ', '_') for c in Shanghai_data.columns] Shanghai_data.head() |
| 映射 | map | Shanghai_data['season'] = Shanghai_data['season'].map({1:'Spring', 2:'Summer', 3:'Autumn', 4: 'Winter'}) |
| 删除缺失值 | dropna | Shanghai_data['PM_Jingan'].dropna() |
| 分裂 | split | df['city'] = val.split('P')[0] |
| 聚合 | Pandas - groupby | data.groupby(key)['PM_US_Post'].mean().plot(kind = 'bar', color = color) |
print 函数
将函数内的参数打印到屏幕上。可以传递多个参数(数据类型可不同),以 , 分隔各参数,输出时依次打印各参数值并以空格分隔。
range 函数
用于创建不可变的数字序列,有三个参数,且必须为整数,格式:
python
# start 默认值为 0,step 默认值为 1
range(start=0, stop, step=1)
创建一个以 start 开始,以 stop-1 终止,以 step 为序列中每个数字之间的差 (间隔),组成的数列。
start第一个参数,需要比stop参数数值大1,以start作为数字序列的开始,默认值为0stop第二个参数,调用函数时需要用户提供的值,以stop-1作为序列的结束step第三个参数,设置数字序列中每个数字之间的差 (相邻数字的间隔),默认值为1
Warning
- 在
range()的括号里指定一个参数,它将用作stop的值,另外两个参数使用默认值start=0,step=1 - 在
range()的括号里指定两个参数,它们将用作start和stop的值,step将使用默认值step=1 range()函数本身的输出是一个range对象。可在for循环中直接调用,也可将range()封装在列表中,即list[range(number)],将其转换为列表,查看range对象中的值集合
input 函数
获取用户原始输入,接受一个字符串参数(可选),会显示在终端里以指定(提示)用户输入信息
python
name = input("Enter your name: ")
print("Hello there, {}!".format(name.title()))
用户输入
python
Enter a name: juno
🔨 编译结果
shell
Hello there, juno
Warning
input()函数获取用户输入的任何内容并将其存储为字符串- 如果要将输入解析为其他类型,需要用新的类型封装结果进行转换,如使用
int()函数转换为整型 - 内置函数
eval()将用户输入解析为 Python 表达式,即将字符串评估为一行 Python 代码(接受变量的输入)
python
# 请求用户输入一个带参数 num 的表达式,如 num +42
num = 30
result = eval(input("Enter an expression with "))
print(result)
🔨 编译结果
shell
72
map 函数
map 函数 返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。即对于迭代器的每一个元素进行一个相同的操作。
python
# 计算输入列表(元素均为字符串)所有元素的长度总和
def total_length(list):
return sum(map(len, list))
# 实现相同功能的函数
def total_length(strings):
total = 0
for s in strings:
total = total + len(s)
return total
方法 split
通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行 \n、制表符 \t 等。
- 语法
str.split(str="",num=string.count(str))[n]
Announce
str形参设定分隔符,默认为空格(但是不能为空即不可令str='')。- 若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num参数表示分割次数。将字符串分隔成num+1个子字符串,并且每一个子字符串可以赋给新的变量。默认是按照分隔符进行全「切割」(在所有含有指定符号的位置进行切割)[n]表示选取第n个分片
Warning
当使用空格作为分隔符时,对于中间为空的项会自动忽略(即将多个并列的空格都删掉)
python
S = "this is string example....wow!!!"
print (S.split( ))
print (S.split('i',1))
print (S.split('w'))
🔨 编译结果
shell
['this', 'is', 'string', 'example....wow!!!']
['th', 's is string example....wow!!!']
['this is string example....', 'o', '!!!']
方法 strip
方法 str.strip([chars]) 返回原字符串的副本,移除其中的前导和末尾字符(。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。
Tip
向 strip() 传递参数 string.punctuation,该字符串里的 所有标点 将被删除。需要先导入 string 模块 import string 才可以使用 string.punctuation
Warning
方法 strip仅删除字符串首尾的字符,不删掉中间的字符。
python
>>> ' spacious '.strip()
'spacious'
>>> 'www.example.com'.strip('cmowz.')
'example'