我有一个现有的解决方案,可以将一列数据框拆分为两列。
df['A'], df['B'] = df['AB'].str.split(' ', 1).str
最近,我收到以下警告 FutureWarning: future 版本中将弃用字符的列式迭代。
如何解决此警告?
我使用的是 python 3.7
最佳答案
这并不完全正确,而且后面的 .str
没有意义。由于 split
和 expand
返回一个 DataFrame,因此更容易:
df[['A', 'B']] = df['AB'].str.split(' ', n=1, expand=True)
<小时/>
不带 expand
的现有方法返回带有列列表的单个系列。我不确定哪个版本的 pandas 用于与您的代码一起使用,但据我所知,您今天需要进行一些调整才能与 pandas (>= 1.0) 一起使用。这种方式的赋值虽然繁琐,但仍然是可能的。
s = df['AB'].str.split(' ', n=1)
df['A'], df['B'] = s.str[0], s.str[1]
我更喜欢 expand
解决方案,因为它短了一行。
关于python - Pandas future 警告 : Columnar iteration over characters will be deprecated in future releases,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61313365/