繁体   English   中英

如何将Dataframe列分为两部分并用拆分值替换列

[英]How to split Dataframe column into two parts and replace column with splitted value

如何将数据框列拆分为两部分,以便稍后将数据框列中的值替换为拆分后的值。 例如,我有一个数据框,如:

col1       col2
"abc"      "A, BC"
"def"      "AX, Z"
"pqr"      "P, R"
"xyz"      "X, YZ"

我想先提取值,然后用提取的值替换该单元格。 因此,输出应如下所示:

col1   col2
abc    A
def    AX
pqr    P
xyz    X

我正在尝试这样做:

df['col2'].apply(lambda x: x.split(',')[0])

但这给了我错误。 请提出如何获得所需的输出的建议。

在这种情况下,您可以使用将使用矢量化函数的pandasstr方法。 apply速度也将更快。

df.col2 = df.col2.str.split(', ').str[0]

>>> df
Out[]:
  col1 col2
0  abc    A
1  def   AX
2  pqr    P
3  xyz    X

要在包含字符串的Series上使用此函数,应在任何函数之前调用str属性。 有关更多详细信息,请参见文档

在上述解决方案中,请注意替换了split.str.split(', ') .str[0]允许切片拆分结果,而仅使用.str.split(', ')[0]将获得Series索引0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM