23种Pandas核心操作,你需要过一遍吗?

Pandas 是基于 NumPy 构建的库,在数据处理方面可以把它理解为 NumPy 加强版,同时 Pandas 也是一项开源项目。它基于 Cython,因此读取与处理数据非常快,并且还能轻松处理浮点数据中的缺失数据(表示为 NaN)以及非浮点数据。在本文中,基本数据集操作主要介绍了 CSV 与 Excel 的读写方法,基本数据处理主要介绍了缺失值及特征抽取,***的 DataFrame 操作则主要介绍了函数和排序等方法。

成都创新互联主营南康网站建设的网络公司,主营网站建设方案,App定制开发,南康h5微信小程序开发搭建,南康网站营销推广欢迎南康等地区企业咨询

基本数据集操作

(1) 读取 CSV 格式的数据集

 
 
 
  1. pd.DataFrame.from_csv(“csv_file”) 

或者:

 
 
 
  1. pd.read_csv(“csv_file”) 

(2) 读取 Excel 数据集

 
 
 
  1. pd.read_excel("excel_file") 

(3) 将 DataFrame 直接写入 CSV 文件

如下采用逗号作为分隔符,且不带索引:

 
 
 
  1. df.to_csv("data.csv", sep=",", index=False) 

(4) 基本的数据集特征信息

 
 
 
  1. df.info() 

(5) 基本的数据集统计信息

 
 
 
  1. print(df.describe()) 

(6) Print data frame in a table

将 DataFrame 输出到一张表:

 
 
 
  1. print(tabulate(print_table, headersheaders=headers)) 

当「print_table」是一个列表,其中列表元素还是新的列表,「headers」为表头字符串组成的列表。

(7) 列出所有列的名字

 
 
 
  1. df.columns 

基本数据处理

(8) 删除缺失数据

 
 
 
  1. df.dropna(axis=0, how='any') 

返回一个 DataFrame,其中删除了包含任何 NaN 值的给定轴,选择 how=「all」会删除所有元素都是 NaN 的给定轴。

(9) 替换缺失数据

 
 
 
  1. df.replace(to_replace=None, value=None) 

使用 value 值代替 DataFrame 中的 to_replace 值,其中 value 和 to_replace 都需要我们赋予不同的值。

(10) 检查空值 NaN

 
 
 
  1. pd.isnull(object) 

检查缺失值,即数值数组中的 NaN 和目标数组中的 None/NaN。

(11) 删除特征

 
 
 
  1. df.drop('feature_variable_name', axis=1) 

axis 选择 0 表示行,选择表示列。

(12) 将目标类型转换为浮点型

 
 
 
  1. pd.to_numeric(df["feature_name"], errors='coerce') 

将目标类型转化为数值从而进一步执行计算,在这个案例中为字符串。

(13) 将 DataFrame 转换为 NumPy 数组

 
 
 
  1. df.as_matrix() 

(14) 取 DataFrame 的前面「n」行

 
 
 
  1. df.head(n) 

(15) 通过特征名取数据

 
 
 
  1. df.loc[feature_name] 

DataFrame 操作

(16) 对 DataFrame 使用函数

该函数将令 DataFrame 中「height」行的所有值乘上 2:

 
 
 
  1. df["height"].apply(*lambda* height: 2 * height) 

或:

 
 
 
  1. def multiply(x): 
  2.  
  3.  return x * 2 
  4.  
  5. df["height"].apply(multiply) 

(17) 重命名行

下面代码会重命名 DataFrame 的第三行为「size」:

 
 
 
  1. df.rename(columns = {df.columns[2]:'size'}, inplace=True) 

(18) 取某一行的唯一实体

下面代码将取「name」行的唯一实体:

 
 
 
  1. df["name"].unique() 

(19) 访问子 DataFrame

以下代码将从 DataFrame 中抽取选定了的行「name」和「size」:

 
 
 
  1. new_df = df[["name", "size"]] 

(20) 总结数据信息

 
 
 
  1. # Sum of values in a data frame 
  2. df.sum() 
  3. # Lowest value of a data frame 
  4. df.min() 
  5. # Highest value 
  6. df.max() 
  7. # Index of the lowest value 
  8. df.idxmin() 
  9. # Index of the highest value 
  10. df.idxmax() 
  11. # Statistical summary of the data frame, with quartiles, median, etc. 
  12. df.describe() 
  13. # Average values 
  14. df.mean() 
  15. # Median values 
  16. df.median() 
  17. # Correlation between columns 
  18. df.corr() 
  19. # To get these values for only one column, just select it like this# 
  20. df["size"].median() 

(21) 给数据排序

 
 
 
  1. df.sort_values(ascending = False) 

(22) 布尔型索引

以下代码将过滤名为「size」的行,并仅显示值等于 5 的行:

 
 
 
  1. df[df["size"] == 5] 

(23) 选定特定的值

以下代码将选定「size」列、***行的值:

 
 
 
  1. df.loc([0], ['size']) 

原文链接:

https://towardsdatascience.com/23-great-pandas-codes-for-data-scientists-cca5ed9d8a38

【本文是专栏机构“机器之心”的原创文章,微信公众号“机器之心( id: almosthuman2014)”】

分享题目:23种Pandas核心操作,你需要过一遍吗?
文章地址:http://www.gawzjz.com/qtweb/news11/172361.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联