1. 程式人生 > >【資料平臺】dataframe一列成多列

【資料平臺】dataframe一列成多列

1、場景:一列中的值出現 1|2|3|56,這樣用|分割的值,需要將其轉換成4列。

2、操作:

names=df['names'].str.split('|',expand=True)#多名字分列
names.columns=['ids0','ids1','ids2','ids3','ids4','ids5','ids6','ids7']#
df=df.join(names)

其中names欄位的列是包含|分割的值,最後將多列合併會原dataframe裡。

3、函式:

Series.str.split(pat=None, n=-1, expand=False)[source]

Split each string (a la re.split) in the Series/Index by givenpattern, propagating NA values. Equivalent to

str.split().

Parameters:

pat : string, default None

String or regular expression to split on. If None, splits on whitespace

n : int, default -1 (all)

None, 0 and -1 will be interpreted as return all splits

expand : bool, default False

  • If True, return DataFrame/MultiIndex expanding dimensionality.
  • If False, return Series/Index.

return_type : deprecated, use expand

Returns:

split : Series/Index or DataFrame/MultiIndex of objects