基于pandas中expand的作用详解

yipeiwu_com5年前Python基础

expand表示是否把series类型转化为DataFrame类型

下面代码中的n表示去掉下划线"_"的数量

代码如下:

import numpy as np
import pandas as pd
s2 = pd.Series(['a_b_c_f_j', 'c_d_e_f_h', np.nan, 'f_g_h_x_g'])
print("-----------------------------------")
print(s2.str.split('_'))
print("-----------------------------------")
print(s2.str.split('_').str.get(1))
print("-----------------------------------")
print(s2.str.split('_').str[1])
print("---------------expand=True--------------------")
expand1=s2.str.split('_', expand=True)
print(expand1)
print(type(expand1))
print("---------------expand=False--------------------")
expand2=s2.str.split('_', expand=False)
print(expand2)
print(type(expand2))
print("##########################################################")
print("---------------expand=True,n=1--------------------")
expand1=s2.str.rsplit('_', expand=True,n=1)
print(expand1)
print("---------------expand=False,n=1--------------------")
expand2=s2.str.rsplit('_', expand=False,n=1)
print(expand2)
 

运行结果如下:

-----------------------------------
0  [a, b, c, f, j]
1  [c, d, e, f, h]
2        NaN
3  [f, g, h, x, g]
dtype: object
-----------------------------------
0   b
1   d
2  NaN
3   g
dtype: object
-----------------------------------
0   b
1   d
2  NaN
3   g
dtype: object
---------------expand=True--------------------
   0  1  2  3  4
0  a  b  c  f  j
1  c  d  e  f  h
2 NaN NaN NaN NaN NaN
3  f  g  h  x  g
<class 'pandas.core.frame.DataFrame'>
---------------expand=False--------------------
0  [a, b, c, f, j]
1  [c, d, e, f, h]
2        NaN
3  [f, g, h, x, g]
dtype: object
<class 'pandas.core.series.Series'>
##########################################################
---------------expand=True,n=1--------------------
     0  1
0 a_b_c_f  j
1 c_d_e_f  h
2   NaN NaN
3 f_g_h_x  g
---------------expand=False,n=1--------------------
0  [a_b_c_f, j]
1  [c_d_e_f, h]
2       NaN
3  [f_g_h_x, g]
dtype: object
[Finished in 0.4s]

以上这篇基于pandas中expand的作用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中%r和%s的详解及区别

Python中%r和%s的详解 %r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象。 例一: print...

python多线程调用exit无法退出的解决方法

python启用多线程后,调用exit出现无法退出的情况,原因是exit会抛出Systemexit的异常,如果在exit外围调用了try,就会出现ctrl+c两次才能退出的情况 解决方法...

在Pycharm中对代码进行注释和缩进的方法详解

一、注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快捷键:Ctrl+/ 二、缩进 缩进:Tab 反向缩进:Shift+Tab 以上这篇在...

python实现多进程通信实例分析

python实现多进程通信实例分析

操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在。那么进程之间怎么进行通信?他们之间的关联是怎样的?...

Python内置模块logging用法实例分析

本文实例讲述了Python内置模块logging用法。分享给大家供大家参考,具体如下: 1、将日志直接输出到屏幕 import logging logging.debug('This...