将大熊猫分为两部分

Ale*_*ont 3 python dataframe pandas

还有其他类似的问题,但不同之处在于我的数据框架已经有很多列,其中只有一列需要拆分.

我有一个大型数据帧(数百列,数百万行).当在字符串中找到字符("|")时,我想拆分其中一列.

所有值只有一个"|".

对于固定长度,我会这样做:df ['StateInitial'] = df ['state'].str [:2]

我希望我可以用string.index("|")替换2,但是如何调用字符串呢?

san*_*ton 7

怎么样:

df = pd.DataFrame(['a|b', 'c|d'])
s = df[0].apply(lambda x: x.split('|'))
df['left'] = s.apply(lambda x: x[0])
df['right'] = s.apply(lambda x: x[1])
Run Code Online (Sandbox Code Playgroud)

输出:

     0 left right
0  a|b    a     b
1  c|d    c     d
Run Code Online (Sandbox Code Playgroud)

  • 另见`pandas.Series.str.split()`[pandas.Series.str.split] [1] [1]:https://pandas.Series.str.split (2认同)
  • 链接无效。[新链接](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.split.html) (2认同)