文章目录

  • 1.创建DataFrame数据
    • 1.1 给DataFrame添加数据
    • 1.3 给行索引和列索引起名
    • 1.4 判断数据是否在DataFrame中
  • 2.DataFrame数据处理
    • 2.1 DataFrame数据切片
    • 2.2 DataFrame数据运算

导入Pandas包, import pandas as pd
DataFrame数据是Pandas数据中的多维数据

1.创建DataFrame数据

有两种创建方法:
DataFrame是多维数据所以要使用字典Dict进行创建
默认索引创建:字典中 {'列索引': [list]}
带索引的创建:字典中{'列索引': {'行索引1': 数据, '行索引2': 数据}}

默认索引创建:行索引从0开始

data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
frame1 = pd.DataFrame(data)


带索引的创建:

data = {'state':{'a': 'Ohio', 'b': 'Ohio','c': 'Ohio', 'd':'Nevada', 'e':'Nevada', 'f':'Nevada'},'year':{'a': 2000, 'b':2001,'c': 2002, 'd':2001, 'e':2002, 'f':2003},'pop':{'a': 1.5, 'b':1.7,'c': 3.6, 'd':2.4, 'e':2.9, 'f':3.2}}
frame2 = pd.DataFrame(data)


默认索引也可以更改索引,达到同样的效果

frame1.index = ['a', 'b', 'c', 'd', 'e', 'f']

1.1 给DataFrame添加数据

如下添加一个’status’列索引,并往索引里赋值;数据需要时一个与原DataFrame行索引长度相同的[list]
举例:

frame['status'] = frame['pop']>2


再用列表添加一个行索引:

frame['demo'] = [0, 1, 2, 3, 4, 5]


所需要删除列索引,则使用语句:del frame['列索引名字']

1.3 给行索引和列索引起名

行索引起名:DataFrame.index.name = 'index_name'
列索引起名:DataFrame.columns.name = 'columns_name'

1.4 判断数据是否在DataFrame中

行索引判断:‘name’ in frame.index
列索引判断:‘name’ in frame.columns
数据值判断:‘name’ in frame.values

若在则返回True,不在返回False

2.DataFrame数据处理

  • 删除数据但不改变原DataFrame,使用语句drop
    举例:
  1. 删除列:frame.drop('state', axis=1)

  2. 删除行:frame.drop('a')

2.1 DataFrame数据切片

有两种取数据的方法:loc[]iloc[]
frame:

loc[]的取值方法是按DataFrame中行索引和列索引的名来进行取值,在数据量小时很好用

frame.loc['e':'f', 'state':'year']

iloc[]的取值方法是按DataFrame中数据的具体位置进行索引;

frame.iloc[4:, :2]

2.2 DataFrame数据运算

DataFrame与DataFrame之间的运算:

df1 = pd.DataFrame(np.arange(12.).reshape((3, 4)),columns=list('abcd'))
df2 = pd.DataFrame(np.arange(20.).reshape((4, 5)),columns=list('abcde'))



如果直接进行相加,会发现两个DataFrame所含有的行索引和列索引不一致,这会导致所相加后得到的DataFrame中会有NaN数据

df1.add(df2)


加入参数fill_value=0,0会代替df1中缺少的部分进行相加

df1.add(df2, fill_value=0)

将DataFrame中的数据都+1
创建一个一维数据Series,Series里的索引要对应DataFrame中列索引
s = pd.Series([1, 1, 1, 1], index=['a', 'b', 'c', 'd'])

df1 + s

Pandas-DataFrame使用相关推荐

  1. pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format)

    pandas使用tabulate函数将pandas dataframe以类似于plsql表格的方式打印出来(printing dataframe in tabular format) 目录

  2. python将scikit-learn自带数据集转换为pandas dataframe格式

    python将scikit-learn自带数据集转换为pandas dataframe格式 目录 python将scikit-learn自带数据集转换为pandas dataframe格式 #仿真数据

  3. pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe )

    pandas基于条件判断更新dataframe中所有数据列数值内容的值(Conditionally updating all values in pandas Dataframe ) 目录

  4. pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe )

    pandas基于条件判断更新dataframe中特定数据列数值内容的值(Conditionally updating values in specific pandas Dataframe ) 目录

  5. pyspark dataframe数据连接(join)、转化为pandas dataframe、基于多个字段删除冗余数据

    pyspark dataframe数据连接(join).转化为pandas dataframe.基于多个字段删除冗余数据 目录 pyspark dataframe数据连接(join).转化为panda ...

  6. plotly可视化表格数据:以表格可视化pandas dataframe

    plotly可视化表格数据:以表格可视化pandas dataframe # plotly可视化dataframe中的表格数据: import plotly as py from plotly.too ...

  7. python将pandas dataframe内容写入ElasticSearch实战

    python将pandas dataframe内容写入ElasticSearch实战 目录 python将pandas dataframe内容写入ElasticSearch实战 索引设置 数据写入 数 ...

  8. python将ElasticSearch索引数据读入pandas dataframe实战

    python将ElasticSearch索引数据读入pandas dataframe实战 # 导入基础包和库 import pandas as pdpd.set_option('display.max ...

  9. pandas dataframe中的列进行重新排序、倒排、正排、自定义排序详解及实践

    pandas dataframe中的列进行重新排序,pandas dataframe列重排.倒排.正排.自定义排序详解及实践 实施数据构建: import pandas as pd import nu ...

  10. pandas dataframe缺失值(np.nan)处理:识别缺失情况、删除、0值填补、均值填补、中位数填补、加缺失标签、插值填充详解及实例

    pandas dataframe缺失值(np.nan)处理:识别缺失情况.删除.0值填补.均值填补.中位数填补.加缺失标签.插值填充详解及实例 isnull().natna().isna().fill ...

最新文章

  1. 在SIFT和SURF之后,有哪些比较新的且具有一定影响力的自然图像配准算法?
  2. html回车按键确认按钮,button默认enter事件(回车事件)。
  3. 设计移动App的十大技巧
  4. 物联网应用领域-物联网智能安全始于产品开发
  5. elasticsearch-7.15.2 同时支持中文ik分词器和pinyin分词器
  6. C/C++基础知识10道题,你都会吗?
  7. Struts2之struts-2.3.20开发环境的搭建并实现第一个Hello World小应用
  8. 强大命令——Ping命令总结
  9. log4j+flume+HDFS实现日志存储
  10. paip.cpu占用高解决方案---ThreadMast 跟Process Lasso的使用
  11. R语言:关于我国各地区消费水平的聚类分析
  12. windows进程/线程创建过程 --- windows操作系统学习
  13. Windows设置exe或者bat文件开机启动的几种方法汇总
  14. java假死_分析java进程假死状况
  15. 双人五子棋Python
  16. Python 输出对齐
  17. VMT model 简介
  18. 解决springmvc中添加了静态资源访问路径之后就访问不到Controller路径的问题
  19. 计算机java相关英文文献,计算机 java 外文文献 外文翻译 英文文献.doc
  20. CTFshow_终极考核_个人WP

热门文章

  1. Python3 网络爬虫入门与实战
  2. 如何使用jQuery 制作全屏幕背景的嵌入视频
  3. android 获取多个控件,Android----获取activity上所有的控件
  4. 定制一个Android的Launcher(Home)
  5. 搜索解决方案Solr
  6. 【用例】研究生招生报名管理系统分析
  7. 其实最有可能的是阿隆索撞舒马赫
  8. FITC-SNA,EBL;荧光素标记的黑接骨木凝集素(SNA,EBL)
  9. 工业相机在超级高铁管道视觉检测系统中的应用
  10. Serverless实践系列(四):网站监控脚本的实现