基于pandas中expand的作用详解

yipeiwu_com6年前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中的pandas库对cdn日志进行分析详解

前言 最近工作工作中遇到一个需求,是要根据CDN日志过滤一些数据,例如流量、状态码统计,TOP IP、URL、UA、Referer等。以前都是用 bash shell 实现的,但是当日志...

Python实现进程同步和通信的方法

Python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessi...

Python中模块与包有相同名字的处理方法

前言 在编程开发中,个人觉得,只要按照规范去做,很少会出问题。刚开始学习一门技术时,的确会遇到很多的坑。踩的坑多了,这是好事,会学到更多东西,也会越来越觉得按照规范做的重要性,规范的制定...

python 批量添加的button 使用同一点击事件的方法

python 批量添加的button 使用同一点击事件根据传递的参数进行区分。 def clear_text(): print '我只是个清空而已' def clear_tex...

python 实现自动远程登陆scp文件实例代码

 python 实现自动远程登陆scp文件实例代码 实现实例代码: #!/usr/bin/expect if {$argc!=3} { send_user "Usage...