pandas版本的tidyr::separate是什么?

lx0bsm1f  于 2023-04-04  发布在  其他
关注(0)|答案(1)|浏览(81)

此问题在此处已有答案

Pandas split column into multiple columns by comma(8个答案)
三年前关闭了。
R包tidyr有一个很好的separate函数,用于 *“将一列分隔为多列”。
什么是Pandas版本?
例如,这里是一个数据集:

import pandas
from six import StringIO
df = """  i  | j | A
         AR  | 5 | Paris,Green
         For | 3 | Moscow,Yellow
         For | 4 | New York,Black"""
df = StringIO(df.replace(' ',''))
df = pandas.read_csv(df, sep="|", header=0)

我想将A列分成两列,分别包含这两列的内容。
这个问题是相关的:Accessing every 1st element of Pandas DataFrame column containing lists

l5tcr1uw

l5tcr1uw1#

tidyr::separate的等价物是带有特殊赋值的str.split

df['Town'], df['Color'] = df['A'].str.split(',', 1).str
print(df)

#      i  j              A     Town   Color
# 0   AR  5    Paris,Green    Paris   Green
# 1  For  3  Moscow,Yellow   Moscow  Yellow
# 2  For  4  NewYork,Black  NewYork   Black

tidyr::unite的等价物是字符向量的简单串联:

df["B"] = df["i"] + df["A"]
df
#      i  j              A                 B
# 0   AR  5    Paris,Green     ARParis,Green
# 1  For  3  Moscow,Yellow  ForMoscow,Yellow
# 2  For  4  NewYork,Black  ForNewYork,Black

相关问题