快速介绍Python数据分析库pandas的基础知识和代码示例( 二 )
value_counts()函数的作用是:获取一系列包含唯一值的计数 。
# View unique values and counts of Physics columndf['Physics'].value_counts(dropna=False)
文章插图
选择在训练机器学习模型时 , 我们需要将列中的值放入X和y变量中 。
df['Chemistry'] # Returns column with label 'Chemistry' as Series
文章插图
df[['Name','Algebra']] # Returns columns as a new DataFrame
文章插图
df.iloc[0] # Selection by position
文章插图
df.iloc[:,1] # Second column 'Name' of data frame
文章插图
df.iloc[0,1] # First element of Second column>>> 68.0
数据清理rename()函数在需要重命名某些选定列时非常有用 , 因为我们只需要指定要重命名的列的信息 。
# Rename columnsdf = df.rename({'Name':'Student','Algebra':'Math'}, axis='columns')
文章插图
在DataFrame中 , 有时许多数据集只是带着缺失的数据的 , 或者因为它存在而没有被收集 , 或者它从未存在过 。
NaN(非数字的首字母缩写)是一个特殊的浮点值 , 所有使用标准IEEE浮点表示的系统都可以识别它
pandas将NaN看作是可互换的 , 用于指示缺失值或空值 。 有几个有用的函数用于检测、删除和替换panda DataFrame中的空值 。
# Checks for null Values, Returns Boolean Arrraycheck_for_nan = df.isnull()
文章插图
要检查panda DataFrame中的空值 , 我们使用isnull()或notnull()方法 。 方法返回布尔值的数据名 , 对于NaN值为真 。 在相反的位置 , notnull()方法返回布尔值的数据 , 对于NaN值是假的 。
value = http://kandian.youth.cn/index/df.notnull() # Opposite of df2.isnull()
文章插图
我们使用dropna()函数删除所有缺少值的行 。
drop_null_row = df.dropna() # Drop all rows that contain null values
文章插图
有时 , 我们可能只是想删除缺失值的列 。
# Drop all columns that contain null valuesdrop_null_col = df.dropna(axis=1)
文章插图
我们可以使用fillna()来填充缺失的值 。 例如 , 我们可能想用0替换' NaN ' 。
replace_null = df.fillna(0) # Replace all null values with 0
文章插图
或者用平均值替换NaN 。
# Replace all null values with the mean (mean can be replaced with almost any function from the statistics module)df = round(df.fillna(df.mean()),2)
文章插图
方法可用于替换DataFrame中的值
one = df.replace(100,'A') # Replace all values equal to 1 with 'one'
文章插图
筛选、排序和分组找到看到物理成绩达到80或80以上的学生
fil_80 = df[df['Physics'] > 80]
文章插图
学生在化学考试中得到80分或更高的分数 , 数学考试中却不到90分
fil = df[(df['Chemistry'] > 80) & (df['Math'] < 90)]
文章插图
sort_values ()可以以特定的方式对pandas数据进行排序 。 通常会根据一个或多个列的值对panda DataFrame进行排序 , 或者根据panda DataFrame的行索引值或行名称进行排序 。
例如 , 我们希望按学生的名字按升序排序 。
ascending = df.sort_values('Student')
文章插图
化学分数按降序排列
descending = df.sort_values('Chemistry',ascending=False)
文章插图
- GB|备货充足要多少有多少,5000mAh+128GB,红米新机首销快速现货
- 页面|如何简单、快速制作流程图?上班族的画图技巧get
- 介绍|5分钟介绍各种类型的人工智能技术
- 能力|美国研发快速法评估神经网络的不确定性 改进自动驾驶车决策能力
- 入门|做抖音影视赚钱比工资多,教大家新手也可快速入门
- 平台好友|《妄想山海》好友列表介绍
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- Python源码阅读-基础1
- Python调用时使用*和**
- 程序员学英语第1天——JavaScript 程序测试的介绍1