pandas中expand的作用

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]

你可能感兴趣的:(Python)