我们如何链接df.col.str.split(),因为如果expand = True,它会返回拆分的列。我在执行.melt()后试图拆分一列。如果我使用assign,我最终会使用原始列,而融化的列实际上甚至不存在。
df.col.str.split()
.melt()
df .melt(...) .assign( col1=df.col.str.split(...)[0], col2=df.col.str.split(...)[1] )
v1l68za41#
不确定你要做什么。但我可以确定的是,你不能直接在一个序列上使用[0](至少不能做你想做的事情)。但是你可以再次调用.str,这样你就可以使用[0]运算符了范例
[0]
.str
df=pd.DataFrame({'s':['abc-def|ghi', 'one-two|three']}) df.s.str.split('-').str[0] #0 abc #1 one #Name: s, dtype: object df.s.str.split('-').str[1].str.split('|').str[0] #0 def #1 two #Name: s, dtype: object df.s.str.split('-').str[1].str.split('|').str[1] #0 ghi #1 three #Name: s, dtype: object
注意,这里有一半的.str是反直觉的,因为我们并没有真正在结果(数组)上使用字符串函数。但是.str也可以在数组上工作,以及在任何使用[..]索引的东西上工作。只要你不在其上调用字符串特定的函数。所以这是一个技巧:序列上的.str允许对序列中的元素调用字符串方法,而一些字符串方法,包括索引,碰巧对数组也有意义。
[..]
1条答案
按热度按时间v1l68za41#
不确定你要做什么。但我可以确定的是,你不能直接在一个序列上使用
[0]
(至少不能做你想做的事情)。但是你可以再次调用.str
,这样你就可以使用[0]
运算符了范例
注意,这里有一半的
.str
是反直觉的,因为我们并没有真正在结果(数组)上使用字符串函数。但是.str
也可以在数组上工作,以及在任何使用[..]
索引的东西上工作。只要你不在其上调用字符串特定的函数。所以这是一个技巧:序列上的.str
允许对序列中的元素调用字符串方法,而一些字符串方法,包括索引,碰巧对数组也有意义。