pandas(三) -- DataFrame的基本操作
DataFrame的基本操作
数据查看、转置、 添加、修改、删除值 / 对齐 / 排序
1. 查看、转置、 添加、修改
df.head()#查看df头部元素
df.tail()#查看df的最后几个元素
df.T#转置df.loc[4] = 20 # df索引为4的行的值设为20,如果df无索引为4的行,则添加这行
df['e'] = 20 #df列名为‘e’的值设为20,如果df列名为‘e’的列,则添加这行
df[['a','c']] = 100 #同时设两列
2. 删除
df
a b c d
0 18.508749 55.076623 31.351921 97.197084
1 6.225724 38.386008 26.030686 37.091972
2 90.739194 7.106155 69.594075 10.862557
3 34.379840 33.543922 14.466034 39.377378
del
删除列
del df['a']#原始数据会改变,无返回,输出会报错
print(df)
b c d
0 55.076623 31.351921 97.197084
1 38.386008 26.030686 37.091972
2 7.106155 69.594075 10.862557
3 33.543922 14.466034 39.377378
drop()
删除行,inplace=False
→ 删除后生成新的数据,不改变原数据.inplace=True
→ 删除后不生成新的数据,改变原数据
print(df.drop(0))
print('*'*20)
print(df)
b c d
1 38.386008 26.030686 37.091972
2 7.106155 69.594075 10.862557
3 33.543922 14.466034 39.377378
********************b c d
0 55.076623 31.351921 97.197084
1 38.386008 26.030686 37.091972
2 7.106155 69.594075 10.862557
3 33.543922 14.466034 39.377378
drop()
删除列,需要加上axis = 1,inplace=False → 删除后生成新的数据,不改变原数据
print(df.drop(['d'], axis = 1))
print(df)
b c
0 55.076623 31.351921
1 38.386008 26.030686
2 7.106155 69.594075
3 33.543922 14.466034b c d
0 55.076623 31.351921 97.197084
1 38.386008 26.030686 37.091972
2 7.106155 69.594075 10.862557
3 33.543922 14.466034 39.377378
3. 对齐
DataFrame对象之间的数据自动按照列和索引(行标签)对齐
df1 = pd.DataFrame(np.random.randn(5, 4), columns=['A', 'B', 'C', 'D'])
df2 = pd.DataFrame(np.random.randn(4, 3), columns=['A', 'B', 'C'])
print(df1)
print(df2)
print(df1 + df2)
有相同的index和columns的,相加,没有的用NaN
填充
A B C D
0 0.936158 0.176731 0.057894 1.378480
1 -0.845350 -1.315490 1.364016 0.068843
2 1.202603 -1.866056 -1.243468 -2.464771
3 -1.027430 -0.090378 0.772160 0.421877
4 0.599495 -0.512279 0.343464 -0.539533A B C
0 -0.749239 0.468161 -1.300230
1 1.318669 0.415610 1.224801
2 -1.582607 0.297839 0.225834
3 -0.639544 0.187458 0.498859A B C D
0 0.186919 0.644892 -1.242336 NaN
1 0.473319 -0.899880 2.588817 NaN
2 -0.380003 -1.568217 -1.017634 NaN
3 -1.666974 0.097081 1.271019 NaN
4 NaN NaN NaN NaN
4. 排序
- 按值排序
.sort_values
,同样适用于Series
按‘a’列的值升序排列
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,columns = ['a','b','c','d'])
print(df1)
print(df1.sort_values(['a'], ascending = True)) # 升序.ascending 上升的。ascending =False,降序排列
df
a b c d
0 3.570340 86.589786 98.001894 50.984826
1 46.210527 83.412502 74.492003 73.251724
2 91.115360 6.083352 34.314697 56.784097
3 24.781722 67.813376 65.004312 31.788198
排序后结果
a b c d
0 3.570340 86.589786 98.001894 50.984826
3 24.781722 67.813376 65.004312 31.788198
1 46.210527 83.412502 74.492003 73.251724
2 91.115360 6.083352 34.314697 56.784097
print(df1.sort_values(['a','c']))
多列排序,按列顺序排序
- 索引排序
.sort_index
df1 = pd.DataFrame(np.random.rand(16).reshape(4,4)*100,index = [5,4,3,2],columns = ['a','b','c','d'])
print(df1)
print(df1.sort_index())
a b c d
5 80.932585 71.991854 64.582943 23.443231
4 82.054030 87.459058 12.108433 83.047490
3 56.329863 14.926822 47.884418 59.880352
2 0.347007 69.794103 74.375345 12.736429a b c d
2 0.347007 69.794103 74.375345 12.736429
3 56.329863 14.926822 47.884418 59.880352
4 82.054030 87.459058 12.108433 83.047490
5 80.932585 71.991854 64.582943 23.443231
pandas(三) -- DataFrame的基本操作相关推荐
- python dataframe 中位数_python下的Pandas中DataFrame基本操作(一),基本函数整理
pandas作者Wes McKinney 在[PYTHON FOR DATA ANALYSIS]中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰 ...
- pandas.DataFrame()的基本操作
感觉上pandas的DataFrame就像numpy中的矩阵,不过它拥有列名和索引名,实际操作起来会更方便一些. 如: df = pd.read_clipboard() df.columns df.R ...
- pandas, dataframe获取最后一行的三种方法
这次为了做NLP的第一个作业:隐马尔科夫模型的词性判断,开始接触pandas,numpy和pandas我真的很不熟,导致了作业晚交,理解了原理但代码写得很痛苦. 用测试集计算了词性之间的转移概率,转换 ...
- Python—pandas中DataFrame类型数据操作函数
python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFram ...
- dataframe 空值替换为0_缓解Pandas中DataFrame占用内存过高
0 背景 在我们使用pandas进行数据处理的时候,有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存中的时候会占用非常高的内存,本文即解决这样的问题. 1 原因 如果是 ...
- python查看dataframe数据类型_python pandas中DataFrame类型数据操作函数的方法
python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数 ...
- oracle自带split函数_Pandas 基本使用(三) — DataFrame.to_dict() 函数基本使用
Pandas 基本使用(三) - DataFrame.to_dict() 函数基本使用: Pandas 处理数据的基本类型为 DataFrame,数据清洗时不可必然会关系到数据类型转化问题,Panda ...
- python科学计算笔记(九)pandas中DataFrame数据操作函数
Python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数 ...
- python dataframe函数_python pandas中DataFrame类型数据操作函数的方法
这篇文章主要介绍了关于python pandas中DataFrame类型数据操作函数的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python数据分析工具pandas中Data ...
最新文章
- 英语语法---数词详解
- Ajax链接输出数据库
- Office 365 online的基本概念
- 兵器簿之Alcatraz(插件管理神器)的配置和使用
- C# PDFLibNet PDF转JPG
- Atitit java读取tif文件为空null的解决 图像处理
- 基于Java的Cplex入门
- Cgroup资源配置方法详细解析
- Halcon实现Otsu最大类间方差法
- 2019新版c智播客h马程序员H5全栈工程师培训项目实战
- C语言解决找零钱问题
- wordpress网站单页模板主题开发制作
- MacOS安装brew教程从入门到入土
- Win7下,使用VM虚拟机,安装苹果Mac OS经验分享
- Java 面试题:数据结构 + 算法 +JVM+ 线程 +finalize+GC
- OpenStack网络 - 使用vlan模式来剖析openstack网络相关概念及原理
- live555源码分析(四)RTSPServer分析
- 可能是全网最全,JAVA日志框架适配、冲突解决方案,可以早点下班了!
- 一个HR人给应届生的面试建议,关于应届生面试自我介绍、常见问题及回答、面试礼仪、技巧等,非常全面、非常专业,面试前必看,晚了后悔呀。
- 信息的传递 认识自身5
热门文章
- 小白教程:Visual Studio2017配置GitHub图文教程
- 计算机设备全年销量excel,计算机二级MS-OFFICE考试EXCEL题型汇总附答案.pdf
- 趣学python3(29)-集合set
- keras随笔-读取IMDB电影数据集
- 读博是围城吗?为什么很多读博的人都觉得自己很惨?可我真的羡慕啊!
- 数猪第一名!推荐给你的朋友们!猪只盘点挑战赛Baseline分享
- 【数据竞赛】席卷Kaggle的调参神器,NN和树模型通吃!
- 情人节脱单必备,程序员如何花式表白
- 【论文解读】ICLR2020 | 深度自适应Transformer
- 30例 | 一文搞懂python日期时间处理