【pandas学习笔记】DataFrame
1. 创建DataFrame
可以通过以下方式进行创建
1. list
2. dictionary
3. ndarrays
4. 2d ndnarrays等
通过dictionary
key默认为列名
# 索引自动添加
df = pd.DataFrame({'Student_1':[90,100, 95], 'Student_2':[60, 80, 100]})# 索引主动添加
df = pd.DataFrame({'Student_1':[90,100, 95], 'Student_2':[60, 80, 100]}, index=['Monday', 'Wednesday', 'Friday'])# 索引和列名主动添加
df1 = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['A', 'B'], columns=['C1', 'C2', 'C3'])
>>>df1.values
array([[1, 2, 3],[4, 5, 6]], dtype=int64)
>>>df1.index
Index(['A', 'B'], dtype='object')
>>>df1.columns
Index(['C1', 'C2', 'C3'], dtype='object')
>>>df1.shape
(2, 3)
>>>df1.size
6
>>>df1.T # 维度变化
>>>df1.head() # 查看头部数据
>>>df1.tail() # 产看尾部数据
>>>df1.describe() # 查看描述信息
>>>df1.loc['B'] # 按名称查索引
C1 4
C2 5
C3 6
Name: B, dtype: int64
通过list
>>>df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], index=['A', 'B'], columns=['C1', 'C2', 'C3'])
>>>df.loc['B'].loc['C2'] # loc works on index
5
>>>df['C2'].loc['B']
5
>>>df.loc['B', 'C2']
5
>>>df.iloc[1, 1] # iloc works on position (only take integers)
5
>>>df + 10 # df中每个元素加10
>>>df['C2'] = df.apply(lambda x: x['C2'] ** 2 + 10, axis=1) # axis=1行操作
df.assign(C2 = lambda x: x['C2'] + 10, C3 = lambda x: x['C3'] * 2 - 10) # df未改变
>>>df.assign(C2 = lambda x: x['C2'] ** 2 + 10, C3 = lambda x: x['C3'] * 2 - 10).loc['A'] .max()
206
实例-kaggle泰坦尼克号幸存者数据
基本操作
>>>df = pd.read_csv('train.csv') # 读取文件
>>>df.shape # (891, 12)
>>>df.head()
>>>df.tail(2)
>>>df.isnull().head()
>>>df.isnull().sum()
>>>df.dtypes
>>>df.Survived.value_counts() # 对Survived特征进行数值统计
>>>df.Survived.value_counts().plot(kind='bar') # 画柱状图
>>>df.isnull().sum().plot(kind='bar') # 统计缺失值
处理缺失值
>>>df1 = df.drop('Cabin', axis=1) # 删除Cabin列
>>>df1['Age'] = df1['Age'].fillna(20) #也可以填充中位数,平均数,众数等
>>>df2 = df1[df1['Embarked'].notnull()]
>>>df3 = df.drop('Cabin', axis=1).assign(Age = lambda x: x['Age'].fillna(20)) #复合操作
>>>df1.loc[10:14, ['Name', 'Sex', 'Survived']]
df3.pivot_table(values='PassengerId', index='Survived', columns='Sex', aggfunc='count') # 作表
>>>df4 = df3.loc[df3['Survived'] == 1]
>>>df3 = df1.loc[df1['Age'] > 30]
>>>df4 = df2[['PassengerId', 'Name']].merge(df3[['PassengerId', 'Age']], on='PassengerId', how='outer')
>>>df['Pclass'].value_counts().plot.bar() # 画柱状图
>>>df['Embarked'].value_counts().plot.bar()
>>>df['Survived'].corr(df['Pclass']) # 求皮尔逊关系
-0.33848103596101475
>>>df['Survived'].corr(df['Age'])
-0.077221094572177643
【pandas学习笔记】DataFrame相关推荐
- pandas学习笔记:pandas.Dataframe.rename()函数用法
pandas学习笔记:pandas.Dataframe.rename()函数用法 pandas.Dataframe.rename()函数主要是用来修改Dataframe数据的行名和列名. 主要用到的参 ...
- Pandas学习笔记(一)
Pandas学习笔记一 Pandas数组读取 读取csv.tsv.txt文件 读取excel文件 读取mysql数据表 Pandas数据结构 创建Series的几种方法 根据标签查询Series数据 ...
- pandas学习笔记之DateFrame
pandas学习笔记之DateFrame 文章目录 pandas学习笔记之DateFrame 1.DateFrame的创建 1)认识DataFrame对象 2)由二维列表创建(默认index和colu ...
- 数据分析之pandas学习笔记(六)(层次化索引、重塑、轴向旋转、行列变换、合并表数据)
数据分析之Pandas学习笔记(六)(层次化索引.重塑.轴向旋转.行列变换.合并表数据) level层次化索引 unstack()与stack()进行重塑,即:行列索引变换 swaplevel()交换 ...
- [Pandas 学习笔记] - No.1 pandas学习笔记
pandas学习笔记 pandas是基于numpy开发出的数据分析包,用于高效地操作大型数据集.pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维 ...
- pandas学习笔记之Series
pandas学习笔记之Series 文章目录 pandas学习笔记之Series pandas中Series的创建 1)用python中的列表list创建: 2)用numpy数组创建 3)用pytho ...
- pandas学习笔记(三):数据的变换与数据的管理
注:学习笔记基于文彤老师的pandas的系列课程 课程链接:https://study.163.com/course/courseMain.htm?courseId=1005124008&sh ...
- Pandas 学习笔记一
文章目录 Pandas 学习 核心数据结构 DataFrame 属性 Panel Series 基本数据操作 运算 Pandas 学习 核心数据结构 DataFrame import numpy as ...
- 数据处理Pandas学习笔记(一)
import pandas as pd pandas值series创建 t = pd.Series([1, 2, 31, 12, 3, 4]) t 0 1 1 2 2 31 3 12 4 3 5 4 ...
- 数据分析(七)之pandas学习【dataFrame的使用】
数据分析学习线路图 2.dataFrame的基本用法 2.1 dataFrame的创建 方法2: import numpy as np import pandas as pdt = pd.DataFr ...
最新文章
- python2 float类型_Python学习笔记2:基本数据类型
- iOS多线程编程:线程同步总结 NSCondtion
- Mui Webview下来刷新上拉加载实现
- 下载 golang.org/x 包出错不用代理的解决办法
- 同步规则和happen-before规则
- 收集18个高大上的浏览器小技巧
- 求有向图的简单路径_2020福建农信社招聘-关键路径
- 升级到AKU3.3 v1.1,感受智能手机的VGA模式
- 小型开发团队的测试误区
- 论文编写的9个实用软件
- MySQL子查询,多表查询
- 千万别用MongoDB?
- 微信小程序—那些安全验证,滑块验证、输入验证码、拼图验证
- 苹果手机点击输入框input 页面放大 超出屏幕问题
- 侵害个人信息被工信部点名仍未整改,桔子分期产品被下架,盛银消金和金美信消金为合作方
- CF 229C Triangles
- maven_使用Maven Failsafe和JUnit @Category将集成测试与单元测试分开
- 抓取chrome所有版本密码
- android 为摄像头增加闪光灯(s5pv210)
- angr学习之ctf练习