1. 程式人生 > 程式設計 >基於pandas中expand的作用詳解

基於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,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,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的作用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。