内置
zip():zip
将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
Pandas
Pandas的三个数据类型:Series,Index,DataFrame
cut
离散化的重要函数
ages = [20, 22, 25, 27, 21, 23, 37, 31, 61, 45, 41, 32]
bins = [18, 25, 35, 60, 100]
cats = pd.cut(ages, bins)
#每一个数据所在的区间范围
#数据的长度
#Categories对象,包含了分组的数量以及不同分类的名称
print(cats)
# [(18, 25], (18, 25], (18, 25], (25, 35], (18, 25], ..., (25, 35], (60, 100], (35, 60], (35, 60], (25, 35]]
# Length: 12
# Categories (4, interval[int64]): [(18, 25] < (25, 35] < (35, 60] < (60, 100]]
#为年龄数据进行标号,比如0就是(18,25)的标号
print(cats.codes)
# [0 0 0 1 0 0 2 1 3 2 2 1]
#不同面元先的数据的数量
print(pd.value_counts(cats))
# (18, 25] 5
# (35, 60] 3
# (25, 35] 3
# (60, 100] 1
# dtype: int64
# 还可以不指定面元的界限,直接传入一个整数参数,cut()会按照指定的数字,将元素划分为相应的几部分。
cats2=pd.cut(ages,5)
print(cats2)
# [(19.959, 28.2], (19.959, 28.2], (19.959, 28.2], (19.959, 28.2], (19.959, 28.2], ..., (28.2, 36.4], (52.8, 61.0], (44.6, 52.8], (36.4, 44.6], (28.2, 36.4]]
# Length: 12
# Categories (5, interval[float64]): [(19.959, 28.2] < (28.2, 36.4] < (36.4, 44.6] < (44.6, 52.8] <
# (52.8, 61.0]]
.any() 与 .any(1)
.join
a.join(b, how = right)
将a,b两个DataFrame连接
.drop()
a.drop('b')
去掉a中字段名为b的字段