pandas是python数据分析中一个很重要的包;
在学习过程中我们需要预备的知识点有:DataFrame、Series、NumPy、NaN/None;
pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。
pip install pandas
pandas最核心的就是Series和DataFrame两个数据结构。
名称 | 维度 | 说明 |
---|---|---|
Series | 1维 | 带有标签的同构类型数组 |
DataFrame | 2维 | 表格结构,带有标签,大小可变,且可以包含异构的数据列 |
DataFrame可以看做是Series的容器,即:一个DataFrame中可以包含若干个Series。更详细的解释参考:Series与DataFrame
data = pd.read_csv("fileName.csv")
read_csv()中可以用的参数:
参数 | 说明 |
---|---|
path | 文件路径 |
sep或者delimiter | 字段分隔符 |
header | 列名的行数,默认是0(第一行) |
index_col | 列号或名称用作结果中的行索引 |
names | 结果的列名称列表 |
skiprows | 从起始位置跳过的行数 |
na_values | 代替NA的值序列 |
comment | 以行结尾分隔注释的字符 |
parse_dates | 尝试将数据解析为datetime。默认为False |
keep_date_col | 如果将列连接到解析日期,保留连接的列。默认为False。 |
converters | 列的转换器 |
dayfirst | 当解析可以造成歧义的日期时,以内部形式存储。默认为False |
data_parser | 用来解析日期的函数 |
nrows | 从文件开始读取的行数 |
iterator | 返回一个TextParser对象,用于读取部分内容 |
chunksize | 指定读取块的大小 |
skip_footer | 文件末尾需要忽略的行数 |
verbose | 输出各种解析输出的信息 |
encoding | 文件编码 |
squeeze | 如果解析的数据只包含一列,则返回一个Series |
thousands | 千数量的分隔符 |
这里需要掌握三个函数:
pandas.isna(): 判断哪些值是无效的
pandas.DataFrame.dropna(): 抛弃无效值
pandas.DataFrame.fillna(): 将无效值替换成为有效值
具体用法参照:处理无效值
函数 | 用法 |
---|---|
DataFrame.duplicated() | DataFrame的duplicated方法返回一个布尔型Series,表示各行是否重复行。 |
DataFrame.drop_duplicates() | 它用于返回一个移除了重复行的DataFrame |
DataFrame.fillna() | 将无效值替换成为有效值 |
df.to_csv('D:\\a.csv', sep=',', header=True, index=True)
第一个参数是说把dataframe写入到D盘下的a.csv文件中,参数sep表示字段之间用’,’分隔,header表示是否需要头部,index表示是否需要行号。
df.to_sql('tableName', con=dbcon, flavor='mysql')
第一个参数是要写入表的名字,第二参数是sqlarchmy的数据库链接对象,第三个参数表示数据库的类型,“mysql”表示数据库的类型为mysql。