当前位置:首页 > 科技  > 软件

Pandas入门的12个技巧

来源: 责编: 时间:2024-01-03 17:22:15 173观看
导读今天,就为大家总结一下 “Pandas数据处理的12技巧”,拿来即用,随查随用。今天,就为大家总结一下 “Pandas数据处理的12技巧”,拿来即用,随查随用。1. 安装你还可以使用内置的 Python 工具 pip 安装 Pandas 并运行以下命令:$

今天,就为大家总结一下 “Pandas数据处理的12技巧”,拿来即用,随查随用。mkg28资讯网——每日最新资讯28at.com

mkg28资讯网——每日最新资讯28at.com

今天,就为大家总结一下 “Pandas数据处理的12技巧”,拿来即用,随查随用。mkg28资讯网——每日最新资讯28at.com

1. 安装

你还可以使用内置的 Python 工具 pip 安装 Pandas 并运行以下命令:mkg28资讯网——每日最新资讯28at.com

$ pip install pandas

安装完成后的提示成功,则可以环境中使用pandas包了。mkg28资讯网——每日最新资讯28at.com

import pandas

2. 创建数据列

Pandas一维数组(数据列)可以保存任何数据类型。一般通过调用 pd.Series() 方法实现,不指定index,默认为0,1,2,3...。mkg28资讯网——每日最新资讯28at.com

import pandasimport numpyS = pandas.Series(    [1, 2, 3, 4],  # 数据    index=["a", "b", "c", "d"],  # 指定索引    dtype=numpy.int8,  # 指定数据类型)S.name = "test"  # 创建一维数组的名称S.index.name = "index"  # 创建一维数组的索引名称print(S)

输出:mkg28资讯网——每日最新资讯28at.com

indexa    1b    2c    3d    4Name: test, dtype: int8

3. 创建数据框

创建具有列的二维数据结构的对象(数据框)。一般通过调用 pd.DataFrame() 方法实现,不指定index,默认为0,1,2,3...。mkg28资讯网——每日最新资讯28at.com

import pandasdat_list = [    [1, 2, 3],    [4, 6, 8],    [10, 11, 12],]df = pandas.DataFrame(    dat_list,    index=["i1", "i3", "i2"],    columns=["a", "b", "c"],)print(df)

输出:mkg28资讯网——每日最新资讯28at.com

a   b   ci1   1   2   3i3   4   6   8i2  10  11  12

4. CSV文件的读写

Pandas 支持从 CSV的读写,我们用 pd.read_csv() 和 pd.to_csv() 方法来实现。mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.to_csv("output/test.csv") # 导出到CSV文件dfnew = pandas.read_csv("output/test.csv", index_col=0) # index_col=0 表示第一列为索引print(dfnew)

5. Excel文件的读写

Pandas 支持从 Excel的读写,我们用 pd.read_excel() 和 pd.to_excel() 方法来实现。mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.to_excel("output/test.xlsx") # 导出到exceldfnew = pandas.read_excel("output/test.xlsx", index_col=0) # index_col=0 表示第一列为索引print(dfnew)

6. 通过位置选择值

Pandas 支持通过位置选择值,我们用 df.iloc[row_index, column_index] 来实现。mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)print(df.iloc[2, 1])  # 6 结果为一个值print(df.iloc[[2], [1]])  # 结果为一个元素的数据框print(df.iloc[1:3, :])  # 结果为一个数据框

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  126    Bi3  6    A  B  C   Di1  2  5  8  11i3  3  6  9  12

7. 通过名称选择值

Pandas 支持通过名称选择值,我们用 df.loc[row_name, column_name] 来实现。mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)print(df.loc["i2", "C"])  # 6 结果为一个值print(df.loc[["i2"], ["C"]])  # 结果为一个元素的数据框print(df.loc[["i2", "i3"], ["A", "D"]])  # 切片

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  127    Ci2  7    A   Di2  1  10i3  3  12

8. 标签可以重复么?

这是一个有意思的问题,如果重复了如何取值呢,如何去掉重复呢?mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i2"])print(df)print(df.loc["i2", "C"])df.columns = ["A", "B", "B", "D"]print(df)print(df.loc["i2", "B"])

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i2  3  6  9  12i2    7i2    9Name: C, dtype: int64    A  B  B   Di2  1  4  7  10i1  2  5  8  11i2  3  6  9  12    B  Bi2  4  7i2  6  9

9. 删除行/列

Pandas 支持删除行/列,我们用 df.drop([col/row name], axis=0/1) 来实现。mkg28资讯网——每日最新资讯28at.com

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df.drop(    ["i2", "i1"],    axis=0,  # axis=0删除行,axis=1删除列    inplace=True, # 如果为True,则在原数据上进行操作,否则,创建一个新的数据对象    errors="ignore",  # 忽略不存在的列)print(df)

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   Di3  3  6  9  12

10. 在最后增加列

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12]}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df['E'] = 0print(df)

输出为:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   D  Ei2  1  4  7  10  0i1  2  5  8  11  0i3  3  6  9  12  0

11. 在最后增加行

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12],}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df = df.append(    pandas.DataFrame({"A": 13, "B": 14, "C": 15, "D": 16}, index=["i4"]),    ignore_index=True,)print(df)

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A   B   C   D0   1   4   7  101   2   5   8  112   3   6   9  123  13  14  15  16

12. 通过标签(索引或列名)排序

import pandasd = {    "A": [1, 2, 3],    "B": [4, 5, 6],    "C": [7, 8, 9],    "D": [10, 11, 12]}df = pandas.DataFrame(d, index=["i2", "i1", "i3"])print(df)df = df.sort_index(    axis=0, # axis=0 按行标签排序,axis=1 按列标签排序    level=None,    ascending=True, # 是否升序    inplace=False, # 是否修改原数据    kind="quicksort", # 排序算法    na_positinotallow="last", # 如果有NA值,放在最后    sort_remaining=True, # 是否排序剩余列)print(df)

输出:mkg28资讯网——每日最新资讯28at.com

A  B  C   Di2  1  4  7  10i1  2  5  8  11i3  3  6  9  12    A  B  C   Di1  2  5  8  11i2  1  4  7  10i3  3  6  9  12

总结

上面分享的pandas入门的12个技巧,希望对你有所帮助。mkg28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-57288-0.htmlPandas入门的12个技巧

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 加速Python循环的12种方法,最高可以提速900倍

下一篇: 掌握这个技术,给轮播图和文本插上自由之翼

标签:
  • 热门焦点
  • Flowable工作流引擎的科普与实践

    Flowable工作流引擎的科普与实践

    一.引言当我们在日常工作和业务中需要进行各种审批流程时,可能会面临一系列技术和业务上的挑战。手动处理这些审批流程可能会导致开发成本的增加以及业务复杂度的上升。在这
  • 微信语音大揭秘:为什么禁止转发?

    微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 慕岩炮轰抖音,百合网今何在?

    慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • 最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    来源 | 电商在线文|易琬玉编辑|斯问受访店铺:Ringdoll戒之人形图源:微博@御座的黄山、“Ringdoll戒之人形”淘宝店铺有关外貌的评价,黄山已经听累了。生于1985年的他,哪
  • 大厂卷向扁平化

    大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 阿里瓴羊One推出背后,零售企业迎数字化新解

    阿里瓴羊One推出背后,零售企业迎数字化新解

    作者:刘旷近年来随着数字经济的高速发展,各式各样的SaaS应用服务更是层出不穷,但本质上SaaS大多局限于单一业务流层面,对用户核心关切的增长问题等则没有提供更好的解法。在Saa
  • 质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    质感不错!OPPO K11渲染图曝光:旗舰IMX890传感器首次下放

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
  • 朋友圈可以修改可见范围了 苹果用户可率先体验

    朋友圈可以修改可见范围了 苹果用户可率先体验

    近日,iOS用户迎来微信8.0.27正式版更新,除了可更换二维码背景外,还新增了多项实用功能。在新版微信中,朋友圈终于可以修改可见范围,简单来说就是已发布的朋友圈
  • 华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    华为举行春季智慧办公新品发布会 首次推出电子墨水屏平板

    北京时间2月27日晚,华为在巴塞罗那举行春季智慧办公新品发布会,在海外市场推出之前已经在中国市场上市的笔记本、平板、激光打印机等办公产品,并首次推出搭载
Top