2024-04-27 18:58:52 发布
网友
如何拆分像df.value这样的列
df.value
value -------- Top/Animals/Cat Top/Dog Pig/Guineea/Piglet
分为多列
val1 | val2 | val3 | Top Animals Cat NaN Top Dog Pig Guineea Piglet
这样我就有了最长字符串和NaN的列数,其中其他字符串的长度不同
让我们试试新的
sep='/' s=df.value.str.count(sep) s=((s.max()-s).map(lambda x : x*sep)+df.value).str.split(sep,expand=True) 0 1 2 0 Top Animals Cat 1 Top Dog 2 Pig Guineea Piglet
.str.split()的expand=True是你在这里的朋友
.str.split()
expand=True
df['value'].str.split('/', expand=True)
str.split
expand
df = pd.DataFrame({'value' : ['Top/Animals/Cat', 'Top/Dog', 'Pig/Guineea/Piglet', 'Top']}) # reverse string first. Top/Animals/Cat will become Cat/Animals/ df = df['value'].apply(lambda x : '/'.join(x.split('/')[::-1])).str.split('/', expand=True) # column renaming and order df.columns = ['val' + str(i) for i in range(len(df.columns), 0,-1)] df = df[df.columns[::-1]] df
输出
val1 val2 val3 0 Top Animals Cat 1 None Top Dog 2 Pig Guineea Piglet 3 None None Top
让我们试试新的
.str.split()
的expand=True
是你在这里的朋友str.split
与expand
参数一起使用输出
相关问题 更多 >
编程相关推荐