点击上方蓝色字关注我们~

作者:Soner Yıldırım

来源:Python大数据分析

1. explode

explode用于将一行数据展开成多行。比如说dataframe中某一行其中一个元素包含多个同类型的数据,若想要展开成多行进行分析,这时候explode就派上用场,而且只需一行代码,非常节省时间。

用法:

DataFrame.explode(self, column: Union[str, Tuple])

参数作用:

  • column :str或tuple

以下表中第三行、第二列为例,展开[2,3,8]:

# 先创建表id = ['a','b','c']measurement = [4,6,[2,3,8]]day = [1,1,1]df1 = pd.DataFrame({'id':id, 'measurement':measurement, 'day':day})df1

使用explode轻松将[2,3,8]转换成多行,且行内其他元素保持不变。

df1.explode('measurement').reset_index(drop=True)

2. Nunique

Nunique用于计算行或列上唯一值的数量,即去重后计数。这个函数在分类问题中非常实用,当不知道某字段中有多少类元素时,Nunique能快速生成结果。

用法:

Series.nunique(dropna=True)# 或者DataFrame.nunique(axis=0, dropna=True)

参数作用:

  • axis:int型,0代表行,1代表列,默认0;
  • dropna:bool类型,默认为True,计数中不包括NaN;

先创建一个df:

values_1 = np.random.randint(10, size=10)values_2 = np.random.randint(10, size=10)years = np.arange(2010,2020)groups = ['A','A','B','A','B','B','C','A','C','C']df = pd.DataFrame({'group':groups, 'year':years, 'value_1':values_1, 'value_2':values_2})df

对year列进行唯一值计数:

df.year.nunique()

输出:10 对整个dataframe的每一个字段进行唯一值计数:

df.nunique()

3. infer_objects

infer_objects用于将object类型列推断为更合适的数据类型。

用法:

# 直接将df或者series推断为合适的数据类型DataFrame.infer_objects()

pandas支持多种数据类型,其中之一是object类型。object类型包括字符串和混合值(数字及非数字)。

object类型比较宽泛,如果可以确定为具体数据类型,则不建议用object。

df = pd.DataFrame({"A": ["a", 1, 2, 3]})df = df.iloc[1:]df

df.dtypes

使用infer_objects方法将object推断为int类型:

df.infer_objects().dtypes

4. memory_usage

memory_usage用于计算dataframe每一列的字节存储大小,这对于大数据表非常有用。

用法:

DataFrame.memory_usage(index=True, deep=False)

参数解释:
index:指定是否返回df中索引字节大小,默认为True,返回的第一行即是索引的内存使用情况;
deep:如果为True,则通过查询object类型进行系统级内存消耗来深入地检查数据,并将其包括在返回值中。

首先创建一个df,共2列,1000000行。

df_large = pd.DataFrame({'A': np.random.randn(1000000),                    'B': np.random.randint(100, size=1000000)})df_large.shape

返回每一列的占用字节大小:

df_large.memory_usage()

第一行是索引index的内存情况,其余是各列的内存情况。

5. replace

顾名思义,replace是用来替换df中的值,赋以新的值。

用法:

DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')

参数解释:

  • to_replace:被替换的值
  • value:替换后的值
  • inplace:是否要改变原数据,False是不改变,True是改变,默认是False
  • limit:控制填充次数
  • regex:是否使用正则,False是不使用,True是使用,默认是False
  • method:填充方式,pad,ffill,bfill分别是向前、向前、向后填充

创建一个df:

values_1 = np.random.randint(10, size=10)values_2 = np.random.randint(10, size=10)years = np.arange(2010,2020)groups = ['A','A','B','A','B','B','C','A','C','C']df = pd.DataFrame({'group':groups, 'year':years, 'value_1':values_1, 'value_2':values_2})df

将A全部替换为D:

df.replace('A','D')

将B替换为E,C替换为F:

df.replace({'B':'E','C':'F'})

推荐阅读

  • 用户画像高大上,但90%的人都做失败了!

  • 电商数据分析的具体流程是?不妨用Excel演示一遍!

  • 做数据分析,连趋势分析法都不会,就白混了!

———— / END / ————

pandas 转换为文本类型_分享5个高效的pandas函数!相关推荐

  1. pandas 转换为文本类型_将文本文件转换为pandas datafram

    我有.TX0文件(某种csv txt文件),并通过python.readlines().open(filename,'w')等方法将其转换为.txt文件.我有这个新保存的txt文件,但当我试图将其转换 ...

  2. pandas 转换为文本类型_Pandas对文本数据处理

    在处理数据的时候对数值型的数据处理还是比较方便的但是有时候数值型数据出现问题后就会比较头痛了因为文本数据的排列组合可是有很多很多的今天我们就学习一下如何对文本数据进行处理这样我们接下来在工作中遇到了这 ...

  3. pandas 转换为文本类型_python – pandas将文本特征转换为数值

    我可以通过使用df.astype()方法转换为'category'来转换pandas数据框中的所有文本功能,如下所示.但是我觉得类别难以使用(例如用于绘制数据),并且更愿意创建一个新的整数列 #con ...

  4. pandas 转换为文本类型_4-Pandas数据预处理之数据转换(文本数据规整)

    Pandas对于字符串和文本处理通常是由一些内置的字符串方法指定,一般语法格式为:series.str.method.其中,str.method被称为矢量化的字符串方法,包括str.upper().s ...

  5. pandas 将某一列转换为字符类型_6个冷门但实用的pandas知识点

    1 简介 pandas作为开展数据分析的利器,蕴含了与数据处理相关的丰富多样的API,使得我们可以灵活方便地对数据进行各种加工,但很多pandas中的实用方法其实大部分人都是不知道的,今天就来给大家介 ...

  6. 为什么快捷指令无法将媒体转换为文本_AppStore今日分享 双十一淘宝自动养猫指令和几款限免...

    双十一淘宝自动养猫 来迟了 来迟了 双十一淘宝自动养猫的快捷指令 兼容 IOS13 IOS14 只需运行指令 就能自动化完成烦人的20次任务 使用过程中不要有其他操作避免中断 完成后部分还需要手动操作 ...

  7. pandas 读取所有表头_像用excel一样用pandas

    1 说明 预计需要15min阅读此教材: 本教材仅讲述如何查看excel数据,筛选,排序,查找替换数据,不涉及excel中复杂的图形绘制及样式修改. 2 假设 假设,已经存在一个test.xlsx文件 ...

  8. pandas 批量修改列名_十分钟想搞定pandas?

    用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行数据分析>,看了好几遍,不是从头到尾看了 ...

  9. anki 新的卡片类型_用 Anki 建立高效复习错题体系

    已收录于「一周年」专栏整理 首先,如果你有一个错题本,这样会好操作很多,下面是群内大佬的样例: 没有错题本也没有关系,用一个文件夹专门收集错题也可以(把错题剪下来贴本子上也不错). 重点是如何安排每天 ...

最新文章

  1. git clean和git reset结合用法
  2. 软件体系架构模式之三微内核体系架构
  3. 如果做不了合格的工程师,那就做个艺术家吧
  4. maven项目发布到tomcat里lib包没有发布的问题
  5. RecyclerListView的使用
  6. 华为发布AI时代数据中心交换机:让网络瓶颈不再是束缚,AI算力提升一倍
  7. MongoDB进阶系列(12)——MongoDB 固定集合
  8. vue选项卡切换,某个组件缓存数据keep-alive demo
  9. 如何彻底删掉360安全卫士(全是干货!!!)
  10. 计算机控制系统中的Z变换
  11. [转帖]CAPCOM的详细历史
  12. OpenGL光照教程之 光照贴图
  13. python计算存款复利计算器_《Python核心编程》第五章:数字
  14. 北风:在给我一面国旗换头像中,有人通过这个来获利吗?(亲身经历)
  15. 如何成为技术大牛(华为超级技术大牛的十年经验总结)
  16. winscp中解压文件
  17. 搞笑决战水源之巅收藏六 师傅
  18. keyboard speed
  19. a频繁连接不上redis_解决Redis连接无法正常释放的问题
  20. 弱酸阳离子树脂去除硫酸锂溶液中的钙镁离子技术

热门文章

  1. 面试刷题29:mysql事务隔离实现原理?
  2. git 无法 push 远程仓库 【Note about fast-forwards】
  3. css flex 小记
  4. 【网站建设】简单一行代码,为网站开启深色模式支持
  5. 十分钟搞定 pandas
  6. Linux入门学习(四)
  7. golang关键字和程序语句
  8. 我如何使用回归分析通过Scikit-Learn和Statsmodels分析预期寿命
  9. gatsby_如何使用Gatsby和React Leaflet创建自己的圣诞老人追踪器
  10. git团队如何提交_如何使您的提交消息很棒并保持团队快乐