数据转置

行列标签一起转置,利用.T实现

# -*- coding: utf-8 -*-

import pandas as pd

d = {'col1': [1,2,3], 'col2': [4,5,6],'col3':[7,8,9]}

df = pd.DataFrame(data=d)

print(df)

print('-----------')

print(df.T)

col1 col2 col3

0 1 4 7

1 2 5 8

2 3 6 9

-----------

0 1 2

col1 1 2 3

col2 4 5 6

col3 7 8 9

数据修改

1、通过直接索引修改整行和列

2、使用df.at修改单个值(建议新值和旧值数据类型应保持一致)

3、参考上一节loc和iloc的用法,使用df.loc或者df.iloc来灵活赋值

# -*- coding: utf-8 -*-

import pandas as pd

d = {'col1': [1,2,3], 'col2': [4,'66',6],'col3':[7,8,9]}

df = pd.DataFrame(data=d)

print(df)

print('------------------')

df['col1'] = 'aaa' # 直接修改一列

print(df)

print('-------------------')

df.at[1,'col2'] = 'py' #索引为1的行的col2列

print(df)

print('-----------')

# df.loc[[1]]['col1'] = 'bbb' # 这样是错的,不生效

df.loc[[1],'col1'] = 'bbb' # 这样是对的

print(df)

col1 col2 col3

0 1 4 7

1 2 66 8

2 3 6 9

------------------

col1 col2 col3

0 aaa 4 7

1 aaa 66 8

2 aaa 6 9

-------------------

col1 col2 col3

0 aaa 4 7

1 aaa py 8

2 aaa 6 9

-----------

并未变化

col1 col2 col3

0 aaa 4 7

1 bbb py 8

2 aaa 6 9

数据删除

1、del

2、drop函数

drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

常用操作

df.drop(['a', 'd'], axis=0) 删除索引为a、d的行,默认axis=0

df.drop(['a', 'd'], axis=1) 删除索引为a、d的列

df.drop(['a', 'd'], axis=1 ,inplace=False) 生成新df,不改变原df。默认是False

df.drop(['a', 'd'], axis=1 ,inplace=False) 改变原df

# -*- coding: utf-8 -*-

import pandas as pd

d = {'col1': [1,2,3], 'col2': [4,'66',6],'col3':[7,8,9]}

df = pd.DataFrame(data=d)

print(df)

print('------------------')

# del删除col1列

del(df['col1'])

print(df)

print('------------')

# drop删除索引为1的行

res = df.drop([1])

print(res)

print('-------------')

#删除索引为col2的列

df.drop(['col2'],axis=1,inplace=True)

print(df)

col1 col2 col3

0 1 4 7

1 2 66 8

2 3 6 9

------------------

col2 col3

0 4 7

1 66 8

2 6 9

------------

col2 col3

0 4 7

2 6 9

-------------

col3

0 7

1 8

2 9

对齐(相加)

# -*- coding: utf-8 -*-

import pandas as pd

d1 = {'col1': [1, 2], 'col2': [3, 4]}

d2 = {'col1': [4, 8], 'col2': [7, 9],'col3':[1,2]}

df1 = pd.DataFrame(data=d1)

df2 = pd.DataFrame(data=d2)

df = df1 + df2

print(df)

col1 col2 col3

0 5 10 NaN

1 10 13 NaN

排序

1)按值排序

sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)

常用参数:

by:字符串或者列表;如果axis=0,那么by="列名";如果axis=1,那么by="行名"。

axis:默认值0,默认按照列排序,即纵向排序;如果为1,则是横向排序。

ascending:布尔型,True则升序,如果by=['列名1','列名2'],则该参数可以是[True, False],即第一字段升序,第二个降序。

inplace:布尔型,默认False代表返回新的对象。

na_position:{‘first’, ‘last’}, 默认是‘last’,默认缺失值排在最后面。

单列排序及多列排序

# -*- coding: utf-8 -*-

import pandas as pd

df = pd.DataFrame({'b':[1,2,3,2],'a':[4,3,2,1],'c':[1,3,8,2]},index=[2,0,1,3])

print(df)

print('------------')

df1 = df.sort_values(by='b',axis=0)

print(df1)

print('--------------')

# 多列排序

df2 = df.sort_values(by=['b','a'],axis=0,ascending=[False,True])

print(df2)

b a c

2 1 4 1

0 2 3 3

1 3 2 8

3 2 1 2

------------

b a c

2 1 4 1

0 2 3 3

3 2 1 2

1 3 2 8

--------------

b a c

1 3 2 8

3 2 1 2

0 2 3 3

2 1 4 1

2)按索引排序

sort_index函数

sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, ignore_index=False, key=None)

常用参数

axis:默认值0,0代表行索引排序,1代表按照列索引排序。

ascending:布尔型,True则升序

inplace:布尔型,是否用排序后的数据替换现有的数据

na_position:{‘first’, ‘last’}, 默认是‘last’,默认缺失值排在最后面。

# -*- coding: utf-8 -*-

import pandas as pd

df = pd.DataFrame({'b':[1,2,2,3],'a':[4,3,2,1],'c':[1,3,8,2]},index=[2,0,1,3])

print(df)

print('----------')

#默认按“行标签”升序排序

df1 = df.sort_index()

print(df1)

print('-------------')

#按“列标签”降排序

df2 = df.sort_index(axis=1,ascending=False)

print(df2)

b a c

2 1 4 1

0 2 3 3

1 2 2 8

3 3 1 2

----------

b a c

0 2 3 3

1 2 2 8

2 1 4 1

3 3 1 2

-------------

c b a

2 1 1 4

0 3 2 3

1 8 2 2

3 2 3 1

python dataframe转置_Dataframe数据的增删改查,对齐(相加),转置,按值(索引)排序相关推荐

  1. python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码)

    python最强实训程序(增删改查)机房收费管理系统-基于tkinter的图形化界面(附详细代码) 最近学校实训,用两天时间做了一个python小程序*机房收费管理系统*,一款基于tkinter使用p ...

  2. python连接mysql数据库并实现增删改查

    2019独角兽企业重金招聘Python工程师标准>>> 服务器安装mysql sudo apt-get install mysql-sever 开启和停止mysql服务 sudo s ...

  3. datatables增删改查php,jQuery+datatables插件实现Ajax加载数据与增删改查功能示例_白峰_前端开发者...

    本文实例讲述了 这里给大家分享一下我在项目中用datatables实现ajax加载数据与增删改查 注意,需要引入  搜索  新增  编辑  删除 职业姓名性别爱好 //点击查找 $(" ...

  4. php mysql增删改查实例_php连接数据库实现用户数据的增删改查实例

    下面小编就为大家带来一篇使用PHP连接数据库_实现用户数据的增删改查的整体操作示例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 main页面(主页面) 代号 姓名 性 ...

  5. vue修改数据连接数据库_vue实现数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  6. Vue+ElementUI纯前端技术实现对表格数据的增删改查

    Vue+ElementUI纯前端技术实现对表格数据的增删改查 页面展示效果 一.页面结构 分为三个部分 head body 以及script 一般我个人是在head中引入一些组件库 , 还有一些样式 ...

  7. Node+Vue实现对数据的增删改查

      这是一个用于学生签到的小例子.主要用到的技术有node和Vue:用node搭建小型服务器,配置好路由,前端用vue写好组件,数据库采用的是mysql. 文件结构如下:   主要是功能是对数据的增删 ...

  8. SQL Server创建数据库和数据的增删改查

    SQL Server创建数据库和数据的增删改查 本文是针对数据的增删改查,数据的创建 首先我们使用命令创建sql server数据库 D盘新建一个文件夹DB use master go --创建数据库 ...

  9. Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

    学习目标 redis 概念 下载安装 命令操作 1. 数据结构 持久化操作 使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是 ...

最新文章

  1. matlab newelm,Elman神经网络介绍以及Matlab实现
  2. C#与Java的比较(转)
  3. Py之keras-resnet:keras-resnet的简介、安装、使用方法之详细攻略
  4. 在linux缓存里写数据,缓存策略
  5. nsis打包php项目加环境,NSIS制作安装文件全攻略(一) zz
  6. Oracle PLSQL 从入门到精通
  7. 使用OBS录屏神器,完美录制第二块屏幕。
  8. javaScript位移密码算法挑战
  9. Adobe Photoshop 2020 无法创建新建文档的两种解决方法
  10. k8s初始化报错[kubelet-check] Initial timeout of 40s passed.
  11. Python可视化——随机漫步
  12. python 中的switch
  13. 选股策略与技巧 选股策略报告
  14. 微信小程序转码机器人❤️免费无水印❤️
  15. 国赛mysql加固_2019 全国大学生信息安全竞赛创新能力实践赛3道Web Writeup
  16. onkeypress、onkeydown、onkeyup
  17. 计算机二级excel中mid的用法,mid函数在excel中的使用方法
  18. 三相功率测量,两表法和三表法区别
  19. NVIDIA Jetson TX2 内核中添加 CP210x 串口驱动
  20. android spc 能卸载吗,S7700( V200R003C00SPC500)无法删除radius模板

热门文章

  1. Docker 部署clickhouse-server及添加用户配置密码
  2. 【规范化标准】之 ESLint、Stylelint
  3. C#LeetCode刷题之#189-旋转数组(Rotate Array)
  4. 了解如何使用ASP.NET Core 3.1构建Web应用程序
  5. SQL Server日期格式和SQL Server转换举例说明
  6. 消除拖延的方法_如何消灭拖延症,并彻底消除想法
  7. 创建react应用程序_如何使您的React应用程序具有完整的功能,完全的React性并能够处理所有这些疯狂的事情……...
  8. R语言tidyverse数据处理建模案例
  9. python设置字体_Python实现文字特效的方法
  10. PAT练习题:D进制的A+B(C++)