wordpress 网站变慢,php做视频网站有哪些软件,西安电脑网站建设,一级a做爰片阿v祥仔网站目录
十.pandas方法总结
1.索引切片
2.数据排序
3.数据统计
Pandas数据计算
4.数据查看
5.数据清洗
6-数据分组
查看分组结果
7-处理第三方数据
csv文件操作
Excel文件操作
Excel文件读取read_excel
Excel文件写入 to_excel()
SQL操作
mysql读取
数据保存
pa…目录
十.pandas方法总结
1.索引切片
2.数据排序
3.数据统计
Pandas数据计算
4.数据查看
5.数据清洗
6-数据分组
查看分组结果
7-处理第三方数据
csv文件操作
Excel文件操作
Excel文件读取read_excel
Excel文件写入 to_excel()
SQL操作
mysql读取
数据保存
pandas处理字符串
数据操作
1-数据添加插入
2-数据删除
3-重置索引重命名标签设置索引列
4-对象拼接
常用属性和方法汇总
numpy操作总结
1-创建ndarray对象:
2-方法总结 十.pandas方法总结 1.索引切片
slice(2, 9, 3)#从索引2开始到索引9停止步长为2arr_data[2:9:2]通过冒号来分割切片参数.arr_data[1:]从[1:]索引处开始切割arr_num[1, ...]返回数组的第二行arr_data[[0, 1, 2], [0, 1, 0]][0,1,2]代表行索引;[0,1,0]代表列索引# 行索引 width_data np.array([[0, 0], [3, 3]]) # 列索引 height_data np.array([[0, 2], [0, 2]]) new_data arr_data[width_data, height_data]获取了 4*3 数组中的四个角上元素它们对应的行索引是 [0,0] 和 [3,3]列索引是 [0,2] 和 [0,2]。arr_num[1:4, [1, 2]]行使用基础索引对列使用高级索引.print(arr_data[arr_data 6])返回结果大于六的数字数组# np.isnan(x) 可以判断x是否为空值 print(arr_data[~np.isnan(arr_data)])np.nan是一个float类型的数据表示不是一个数字
df_data[语文]选取指定的列.df_data.loc[张三]选取指定的行.df_data.loc[[张三,王五,坤哥],[语文,数学,地理]]选取指定的行和列.df_data.loc[张三,语文]选取值.df.iloc[2] .iloc[1:3, 1:4]iloc函数只能通过整数索引取值. df_data pd.DataFrame(np.random.randint(65,95,size(5,6)),index[张三,李四,王五,赵六,坤哥],columns[语文,数学,英语,政治,历史,地理]
)
df_data
# 选取指定的列
df_data[语文]
# 选取指定的行
df_data.loc[张三]
# 选取指定的行和列
df_data.loc[[张三,王五,坤哥],[语文,数学,地理]]
# 选取值
df_data.loc[张三,语文]
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.数据排序
df.sort_index(ascendingTrue)按index排序. 默认升序ascendingFalse降序df.sort_index(axis1)列标签排序df.sort_values(bycol2, kindmergesort)按值排序. 与标签排序类似sort_values() 表示按值排序。它接受一个by参数该参数值是要排序数列的 DataFrame 列名 sort_values() 提供了参数kind df_data pd.DataFrame(np.random.randint(65,95,size(5,6)),index[1,4,6,2,3],columns[语文,数学,英语,政治,历史,地理]
)
# 默认升序ascendingFalse降序
# 根据标签进行排序
df_data.sort_index()
# 根据某一列值进行排序
df_data.sort_values(by语文,ascendingFalse)
3.数据统计
Pandas数据计算
函数名称描述说明count()统计某个非空值的数量。sum()求和mean()求均值median()求中位数mode()求众数std()求标准差min()求最小值max()求最大值abs()求绝对值describe()计算基本统计信息如均值、标准差、最小值、最大值等。
在 DataFrame 中使用聚合类方法时需要指定轴(axis)参数。下面介绍两种传参方式 对行操作默认使用 axis1 或者使用 index------行 对列操作默认使用 axis0 或者使用 columns。-----列
df_data pd.DataFrame(np.random.randint(65,95,size(5,6)),index[1,4,6,2,3],columns[语文,数学,英语,政治,历史,地理]
)
# 计算基本统计信息如均值、标准差、最小值、最大值等。
df_data.describe()
# 计算每列的平均值。
df_data.mean()
# 计算每列的中位数。
df_data.median()
# 计算每列非缺失值的数量。
df_data.count()
4.数据查看
函数说明df.head(n)显示前 n 行数据df.tail(n)显示后 n 行数据df.info()显示数据的信息包括列名、数据类型、缺失值等df.describe()显示数据的基本统计信息包括均值、方差、最大值、最小值等df.shape显示数据的行数和列数。query( )# 按条件筛选 # df_data.query((A10) and (B12)) # 筛选指定列 # df_data.query((A10) (B12))[[demo,C,D]] # 筛选某一列 # df_data[df_data[demo] python] # df_data.query(demo python)isin()返回bool类型.xxx.xxx.isin()apply()df_data.apply(lambda x:x.sum()-x.max(),axisindex)df_data.info()显示df_data的基础信息 5.数据清洗
函数说明df.dropna()删除包含缺失值的行或列 DataFrame.dropna(axis0, how‘any’, threshNone, subsetNone, inplaceFalse)df.fillna(value)将缺失值替换为指定的值df.replace(old_value, new_value)将指定值替换为新值df.duplicated()检查是否有重复的数据df.drop_duplicates()删除重复的数据。isnull()检测某一列是否为空值.miss_value [--,18] data pd.read_csv(student.csv,na_valuesmiss_value)自定义空值类型.pd.to_datetime()自动修改日期格式.
6-数据分组
df_data.groupby(company).agg(mean)
#可结合数据计算一起使用
df_data.groupby(year)[[GDP, year]].mean()
df_data.groupby(country).agg({GDP:mean,year:median})
df_data.groupby(country)[[GDP, year]].agg([mean,std])
df_data.groupby([year, country])[[GDP, year]].mean()
# 统计个数去重
df_data.groupby(year)[[country]].nunique()
# 统计出现的国家数
df_data[country].nunique()
# 统计出现的国家
df_data[country].unique()
查看分组结果
通过调用groups属性查看分组结果.
print(df_data.groupby(year).groups)
#{1990: [2, 4], 1992: [0, 7], 1994: [8], 1995: [5], 1997: [3], 1998: [1, 6, 9]}
7-处理第三方数据
csv文件操作
read_csv()read_json()pd.read_csv(./number_data/student.csv, encodingutf-8)filerE:/././student.csv datapd.read_csv(file,encodingutf-8)index_col在 CSV 文件中指定了一个列然后使用index_col可以实现自定义索引。 pd.read_csv(./number_data/student.csv, encodingutf-8, index_col[Name])df.dtypes查看原先的数据类型.pd.read_csv(./number_data/student.csv, encodingutf-8, dtype{Salary: np.float64})转换salary为float类型(字典形式)names 参数更改文件标头名(列的标签) pd.read_csv(./number_data/student.csv, encodingutf-8, names[a,b,c,d,e]) --加上header0参数,就会删除原有的标头名.skiprows参数表示跳过指定的行数。 (跳过前几行!!!) skiprows1to_csv()data {Name: [Smith, Parker], ID: [101, 102], Language: [Python, JavaScript]} info pd.DataFrame(data) csv_data info.to_csv(./number_data/student.csv)
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接受一个列表省略指定行数的数据从尾部最后一行开始。
Excel文件写入 to_excel()
# 创建DataFrame数据
data 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(datas.xlsx)
data.to_excel(writer)
writer.save()
SQL操作
index_col 属性充当行标签 data pd.read_sql(sql_one, concoon,index_colhouse_five)将数据写入Excel#创建ExcelWrite对象. writer pd.ExcelWriter(website.xlsx) data.to_excel(writer) writer.save() 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))
数据保存
df.iloc[:3, :].to_csv(./movie_new.csv)
df.iloc[:3, :].to_excel(./movie_new.xlsx,sheet_namexxx) pandas处理字符串
函数名称函数功能和描述lower()将的字符串转换为小写。upper()将的字符串转换为大写。len()得出字符串的长度。strip()去除字符串两边的空格包含换行符。split()用指定的分割符分割字符串。cat(sep)用给定的分隔符连接字符串元素。contains(pattern)如果空子字串包含在元素中则为每个元素返回一个布尔值 True否则为 False。replace(a,b)将值 a 替换为值 b。count(pattern)返回每个字符串元素出现的次数。findall(pattern)以列表的形式返出现的字符串。isnumeric()返回布尔值检查 Series 中组成每个字符串的所有字符是否都为数字。repeat(value)以指定的次数重复每个元素。find(pattern)返回字符串第一次出现的索引位置. 数据操作
1-数据添加插入
df[]value插入到最后面.# 添加列(存在进行修改,不存在进行添加.)insert() df.insert(1, columnscore, value[91, 90, 75])第一个参数为插入列的位置;(插入到前面)append()将新的数据行添加到 DataFrame 中该函数会在行末追加数据行.df.insert(0, new_money, valuedf[gross] - df[budget])#在指定的位置进行添加. 2-数据删除
del del xxx[column]删除 DataFrame 中的数据列pop()删除 DataFrame 中的数据列drop(标签)删除一行.使用行索引标签从 DataFrame 中删除某一行数据。如果索引标签存在重复那么它们将被一起删除.df.drop(2, axis0).head() df.drop(color,axiscolumns).head()# 删除索引行 # 删除具体列
3-重置索引重命名标签设置索引列
df_new df.reindex(index[0, 2, 5], columns[Time, Name, Age])只获取0 2 5行Time,Name,Age列rename df.rename(columns{Name: 姓名, Age: 年龄, height: 身高}, index{0: first, 1: second, 2: third})对行和列重新命名.df_data.set_index(keysName)设置索引列 keys : 要设置为索引的列名如有多个应放在一个列表里 (列值--列标签) drop : 将设置为索引的列删除默认为True 保留当前列(列值--列标签) append : 是否将新的索引追加到原索引后即是否保留原索引默认为False inplace : 是否在原DataFrame上修改默认为False
4-对象拼接
concat() pd.concat([df_one,df_two])如果想让输出的 行索引 遵循依次递增的规则那么需要将 ignore_index 设置为 True pd.concat([df_one,df_two],axisindex,ignore_indexTrue)append()a.append(b) 单独链接一个Dataframe对象 a.append([b,c]) 连接多个Dataframe对象 常用属性和方法汇总
DataFrame 的属性和方法与 Series 相差无几.
名称属性方法描述T行和列转置。axes返回一个仅以行轴标签和列轴标签为成员的列表。dtypes返回每列数据的数据类型。emptyDataFrame中没有数据或者任意坐标轴的长度为0则返回True。ndim轴的数量也指数组的维数。shape返回一个元组表示了 DataFrame 维度。sizeDataFrame中的元素数量。values使用 numpy 数组表示 DataFrame 中的元素值。head()返回前 n 行数据。tail()返回后 n 行数据。 numpy操作总结
1-创建ndarray对象:
numpy.array(object, dtypeNone, copyTrue, orderNone,ndmin0)
序号参数描述说明1object表示一个数组序列。2dtype可选参数通过它可以更改数组的数据类型。3copy可选参数表示数组能否被复制默认是 True。4order以哪种内存布局创建数组有 3 个可选值分别是 C(行序列)/F(列序列)/A(默认)。5ndmin用于指定数组的维度。/也可查看(.ndium) 2-方法总结
函数numpy_data.reshape()reshape(4, 3) 可以改变多维数组行数和列数从而达到数组变维的目的numpy.arange(start, stop, step, dtype)创建给定数值范围的数组.np.linspace(start, stop, num50, endpointTrue, retstepFalse, dtypeNone)返回均匀间隔的一维等差数组默认均分 50 份.np.logspace(start, stop, num50, endpointTrue, base10.0, dtypeNone)返回一个 ndarray 数组它用于创建等比数组.np.random.randint(low5,high10,size(30,8))