wordpress仿站视频,软装设计公司简介,重庆建设施工安全信息网官网,全网营销系统怎么样目录
七.pandas处理第三方数据
1.Pandas读取文件
1.1 csv文件操作
1.1.1 CSV文件读取
自定义索引(inde_col)
查看每一列的dtype
更改文件标头名(列的标签)
跳过指定的行数
1.1.2 CSV文件写入
1.2 Excel文件操作
1.2.1 Excel文件读取
1.2.2 Excel文件写入
1.3 SQL操…目录
七.pandas处理第三方数据
1.Pandas读取文件
1.1 csv文件操作
1.1.1 CSV文件读取
自定义索引(inde_col)
查看每一列的dtype
更改文件标头名(列的标签)
跳过指定的行数
1.1.2 CSV文件写入
1.2 Excel文件操作
1.2.1 Excel文件读取
1.2.2 Excel文件写入
1.3 SQL操作
1.3.1 MySQL读取
index_col 属性(充当行标签)
将数据写入Excel
2.索引及基本操作
2.1 操作索引
2.2 添加删除插入 七.pandas处理第三方数据 1.Pandas读取文件
当使用 Pandas 做数据分析的时需要读取事先准备好的数据集这是做数据分析的第一步。
Panda 提供了多种读取数据的方法 read_csv() 用于读取文本文件 read_json() 用于读取 json 文件 read_sql() 读取 sql 语句的
1.1 csv文件操作
CSV 又称逗号分隔值文件是一种简单的文件格式以特定的结构来排列表格数据。 CSV 文件能够以纯文本形式存储表格数据比如电子表格、数据库文件并具有数据交换的通用格式。CSV 文件会在 Excel 文件中被打开其行和列都定义了标准的数据格式。
将 CSV 中的数据转换为 DataFrame 对象是非常便捷的。
和一般文件读写不一样它不需要你做打开文件、读取文件、关闭文件等操作。相反您只需要一行代码就可以完成上述所有步骤并将数据存储在 DataFrame 中。
1.1.1 CSV文件读取
import pandas as pd
df pd.read_csv(./number_data/student.csv, encodingutf-8)
print(df)
------------或者----------
import pandas as pd
filerE:/././student.csv
datapd.read_csv(file,encodingutf-8)
print(data)
自定义索引(inde_col)
在 CSV 文件中指定了一个列然后使用index_col可以实现自定义索引。
import pandas as pd
df pd.read_csv(./number_data/student.csv, encodingutf-8, index_col[Name])
print(df)
查看每一列的dtype
import pandas as pd
import numpy as np
# 转换salary为float类型(字典形式)
df pd.read_csv(./number_data/student.csv, encodingutf-8, dtype{Salary: np.float64})
print(df.dtypes)
-----------
df.dtypes
#查看原先的数据类型.
更改文件标头名(列的标签)
使用 names 参数可以指定头文件的名称。
import pandas as pd
df pd.read_csv(./number_data/student.csv, encodingutf-8, names[a,b,c,d,e])
print(df) 文件标头名是附加的自定义名称但是您会发现原来的标头名列标签名并没有被删除此时您可以使用header参数来删除它。 --加上header0参数,就会删除原有的标头名.
import pandas as pd
df pd.read_csv(./number_data/student.csv, encodingutf-8, names[a, b, c, d, e], header0)
print(df)
跳过指定的行数
skiprows参数表示跳过指定的行数。 (跳过前几行!!!)
import pandas as pd
df pd.read_csv(./number_data/student.csv, encodingutf-8, skiprows1)
print(df)
1.1.2 CSV文件写入
Pandas 提供的 to_csv() 函数用于将 DataFrame 转换为 CSV 数据。
如果想要把 CSV 数据写入文件只需向函数传递一个文件对象即可。
否则CSV 数据将以字符串格式返回。
import pandas as pd
data {Name: [Smith, Parker], ID: [101, 102], Language: [Python, JavaScript]}
info pd.DataFrame(data)
csv_data info.to_csv(./number_data/student.csv) 1.2 Excel文件操作
Excel 是由微软公司开发的办公软件之一它在日常工作中得到了广泛的应用。在数据量较少的情况下Excel 对于数据的处理、分析、可视化有其独特的优势因此可以显著提升您的工作效率。但是当数据量非常大时Excel 的劣势就暴露出来了比如操作重复、数据分析难等问题。Pandas 提供了操作 Excel 文件的函数可以很方便地处理 Excel 表格。
1.2.1 Excel文件读取 如果您想读取 Excel 表格中的数据可以使用 read_excel() 方法
pd.read_excel(io, sheet_name0, header0, namesNone, index_colNone,usecolsNone, squeezeFalse,dtypeNone, engineNone,convertersNone, true_valuesNone, false_valuesNone,skiprowsNone, nrowsNone, na_valuesNone, parse_datesFalse,date_parserNone, thousandsNone, commentNone, skipfooter0,convert_floatTrue, **kwds)
参数名称说明io表示 Excel 文件的存储路径。sheet_name要读取的工作表名称。header指定作为列名的行默认0即取第一行的值为列名若数据不包含列名则设定 header None。若将其设置 为 header2则表示将前两行作为多重索引。names一般适用于Excel缺少列名或者需要重新定义列名的情况names的长度必须等于Excel表格列的长度否则会报错。index_col用做行索引的列可以是工作表的列名称如 index_col 列名也可以是整数或者列表。usecolsint或list类型默认为None表示需要读取所有列。squeezeboolean默认为False如果解析的数据只包含一列则返回一个Series。converters规定每一列的数据类型。skiprows接受一个列表表示跳过指定行数的数据从头部第一行开始。nrows需要读取的行数。skipfooter接受一个列表省略指定行数的数据从尾部最后一行开始。
#sheet_name 这里也可以指定索引.(读取表 0 1)
import pandas as pd
df pd.read_excel(./number_data/student.xlsx, sheet_nameSheet1)
print(df)
1.2.2 Excel文件写入
通过 to_excel() 函数可以将 Dataframe 中的数据写入到 Excel 文件。
import pandas as pd
# 创建DataFrame数据
info_website pd.DataFrame({name: [张三, 李四, 王五, 赵六],rank: [1, 2, 3, 4],language: [PHP, C, PHP, Python],url: [www.zhangsan.com, c.lisi.net, www.wangwu.com, www.zhaoliu.com]})
# 创建ExcelWrite对象
writer pd.ExcelWriter(website.xlsx)
info_website.to_excel(writer)
writer.save()
print(输出成功)
--------------------或者---------------
创建文件对像,直接写入.(类似.csv文件写入)
1.3 SQL操作
MySQL 作为数据记录和处理的常用工具之一 使用pandas对MySQL进行操作.
1.3.1 MySQL读取
---首先要连接mysql
--不需要创建游标了,直接读取.
import pandas as pd
import pymysql
coon pymysql.connect(host127.0.0.1,port3306,userroot,password ,db库名
)
sql_one select * from house
print(pd.read_sql(sql_one,concoon))
sql_two select * from house where id 10
print(pd.read_sql(sql_two, concoon))
index_col 属性(充当行标签)
import pandas as pd
import pymysql
coon pymysql.connect(host127.0.0.1,port3306,userroot,password ,db库名
)
sql_one select * from house
data pd.read_sql(sql_one, concoon,index_colhouse_five)
print(data)
将数据写入Excel
import pandas as pd
import pymysql
coon pymysql.connect(host127.0.0.1,port3306,userroot,password ,db库名
)
sql_one select * from house
data pd.read_sql(sql_one,concoon)
#创建ExcelWrite对象.
writer pd.ExcelWriter(website.xlsx)
data.to_excel(writer)
writer.save()
print(输出成功) 2.索引及基本操作
索引index是 Pandas 的重要工具通过索引可以从 DataFame 中选择特定的行数和列数这种选择数据的方式称为“子集选择”。
2.1 操作索引
import pandas as pd
import numpy as np
-----------------------------------
df pd.read_csv(./number_data/movie.csv)
print(df.head())
-----------------------------------
print(df.shape)
-----------------------------------
# 修改行索引, 把一列数据放到最前面.
print(df.set_index(movie_title).head())
-----------------------------------
# 默认值行索引
print(df.reset_index().head())
-----------------------------------
print(df.columns)
# 修改行列名
# 单个进行修改
print(df.rename(columns{color: 颜色},index{0: 第一列}))
-----------------------------------
df.columns #返回列表,列标签.
# 整体修改,上面复制过来直接进行修改
# df.columns [颜色, 姓名, num_critic_for_reviews, duration,
# director_facebook_likes, actor_3_facebook_likes, actor_2_name,
# actor_1_facebook_likes, gross, genres, actor_1_name,
# movie_title, num_voted_users, cast_total_facebook_likes,
# actor_3_name, facenumber_in_poster, plot_keywords,
# movie_imdb_link, num_user_for_reviews, language, country,
# content_rating, budget, title_year, actor_2_facebook_likes,
# imdb_score, aspect_ratio, movie_facebook_likes]
# print(df.head())
#
-----------------------------------
# 转化为列表之后修改
my_columns list(df.columns)
my_columns[0] 颜色色
df.columns my_columns
print(df.head())
2.2 添加删除插入
import pandas as pd
import numpy as np
df pd.read_csv(./number_data/movie.csv)
print(df.head())
print(df.columns)
-----------------------------------
# 添加列(存在进行修改,不存在进行添加.)
df[new_test] 0
print(df.head())
#添加列
df[money] df[gross] - df[budget] #在屁股后面进行添加.
df.insert(0, new_money, valuedf[gross] - df[budget]) #在指定的位置进行添加.
-----------------------------------
# 传入数据
df[new_test] df[actor_1_facebook_likes] df[actor_2_facebook_likes]
print(df.head())
-----------------------------------
# 删除
print(df.drop(2, axis0).head()) # 删除索引行
print(df.drop(color, axiscolumns).head()) # 删除具体列
-----------------------------------
# 保存
df.iloc[:3, :].to_csv(./movie_new.csv)
df.iloc[:3, :].to_excel(./movie_new.xlsx,sheet_namexxx)