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

---------------expand=False--------------------

0 [a, b, c, f, j]

1 [c, d, e, f, h]

2 NaN

3 [f, g, h, x, g]

dtype: object

##########################################################

---------------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的作用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐