pandas与numpy
1、pandas.read_sql(sql语句, conn连接对象)可以直接访问数据库的数据并格式为pandas容易处理的格式
2、pandas会默认将所有数字转换为float类型数据,当我们需要把这一串数字当字符串来处理时需要进行pd.astype()数据转换
3、pandas通过pd.dtypes来查看多列或一系列的数据类型,注意没有加括号
4、使用mean()计算平均值的时,他不会去计算None的值,也就是说会把None值排除在外来计算平均值,0不算None
5、在使用data.to_sql来连接数据库的时候,to_sql是不支持pymysql的,最好是使用sqlalchemy的create_engine来创建连接
data.to_sql(name, conn, if_exists, index)常用参数在括号中
data为要写入的DataForm或者Series数据
name为写入数据的表名
conn为sqlalchemy.create_engine创建的连接
if_exists为当表存在时的操作,有3种:fail(失败处理),replace(替换),append(在原来的表中添加数据)
index为布尔值,表示是否写入时包括index索引,创建一个index字段
6、使用data.dropna()来删除缺失值
data.dropna(axis, how, thresh, subset, inplace)
aixis=(0,1)选择要删除行还是列,一般情况是行(0)
how=('all', 'any')前者表示一行所有都是缺失值才删除,后者表示有缺失值就删除
thresh=(整数)必须要有thresh个值不是缺失的才不会删除这行,否则就删除
subset=([字段列表])删除指定列中有缺失值的行
inplace=(True, False)是否在原来的值上修改
7、DataForm对象可以直接赋值来增加某列或更改某个值,但是数据的长度必须一致
8、data.replace()用于替换值
data.replace(to_replace, value, inplace, regex, limit)
to_replace:被替换的值
value:替换的值
inplace:是否在原数据集修改
regex:是否让to_replace可以使用正则表达式
limit:空值替换次数
9、np.meshgrid()填入两个参数,可以把两个一维数组变成两个二维数组
比如np.meshgrid([1, 2, 3], [4, 5, 6, 7])
把第一个列表的长度当成列(有3列), 第二个列表长度当成行(有4行),返回两个列表都为4行3列的矩阵
然后第一个列表每个元素向下延申4行,第二个列表竖直向右延申3列
返回的结果就是这样的:
[[1, 2, 3] [[4, 4, 4]
[1, 2, 3] [5, 5, 5]
[1, 2, 3] [6, 6, 6]
[1, 2, 3]] [7, 7, 7]]
10、np.c_[]填入两个数据或矩阵,返回一个连接了两个矩阵的矩阵,连接方式是一一对应的,有多少个元素返回的矩阵就有多少行
np.c_[[1, 2, 3], [6, 9, 7]]
返回 [[1 6] [2 9] [3 7]]
np.c_[[[1, 2], [3, 4]], [[6, 9], [7, 9]]]
返回 [[1 2 6 9] [3 4 7 9]]

浙公网安备 33010602011771号