推荐--(2)
1. 写入csv
pd.to_csv('x.csv',index=False,header=True,encoding='utf-8')
2. 创建矩阵,初始为0
np.zeros((row_num,col_num))
3. 排序
pd.sort_values(by='col_name').reset_index(drop=True)
4. 遍历df
for index,row in df.iterrows():#生成器
for col in df.columns:
row[col]=#row-一行
#迭代中,不要修改行,根据数据类型不同,迭代器返回一个副本而不是一个视图。写入它将不起作用。改用df.apply(func)
5. #查找
df[df.index[x],'col']
#df.loc---根据标签进行
#df.iloc---根据行号
#df.ix--混合版
6. #class 类的装饰器:
class student(object):
@property
def score(self):
@score.setter
def score(self,score):
#判断score值是否在范围内
7. #枚举类
from enum import Enum,unique
mom=Enum('m',('J','F'))
m.J
8. 调用其他py的函数:
import a
a.func
或
import a
from a import func
func()
9. 调用其他py的类:
from A import A
a=A(2,3)
a.add()
或
import A
a=A.A(2,3)
a.add()
10. 调用不同文件下py
import sys
sys.path.append(r'D:\')
import A
..........
11. 调用其他py的变量
from d import demo#(demo直接可用)
from d d.demo
from d import *#可调用d所有对象
12. apply,applymap,map:
apply-作用在df,对row或col进行计算
applymap-作用在df,对元素进行操作
map-作用在series上,是元素级别的操作
13. 双端对列
from collection import deque
append()
appendleft(x)
clear()
copy()--浅拷贝
count(value)--value出现几次
extend([.....])-使用可迭代的元素扩展对列的右侧
extendleft([......])
index(value,[start,[stop]])--返回值的第一个索引
insert(index,object)--在索引之前插入
maxlen-----建立队列时设定的最大长度
pop()
popleft()
remove(value)--删除查找到的第一个值
release()--队列中所有元素都反转
rotate(n)--向右旋转队列n步,负数-向左
14. set--无序且不重复的元素集合
集合成员可以做dict中的键,不可以为集合创建索引或行切片操作。也没有键可以用来获取集合中元素的值。
15.list
for k,v in enumerate(list):
list.append()
list.insert(index,value)
list+=[]
list.count(value)
list.index(value)
list.extend(list)
list.sort()
list.reverse()
16. 拷贝
浅拷贝--L1=L#L1为L的别名
L1=L[::]#两个变量
17. GroupBy:
from itertools import groupby
#默认axis=0
df['C'].groupby(df['key'])
#对分组进行迭代
groupby对象支持迭代操作,会产生一个由分量变量名和数据块组成的二元元祖
for name,group in df.groupby('key'):#可转为list或dict查看
#通过dict分组
dict={k:v}
df.groupby(dict,axis=1)
#通过函数分组
df.groupby(fun).count()
#聚合
count,sum,mean,median, std,var min,max,prod(非NA值的积)
#对不同的列应用不同的函数
col.agg({'col_1':np.max,'col_2':sum})
#tranform:将一个函数应用到各个分组,传入的参数只能产生两种结果:可以广播的标量。一个相同大小的结果数组
df.groupby(key).transform(np.mean)
df.groupby('col').apply(func)