我试图拆分一个列,它的形状是:“StringA;StringB;StringC”with“;”。我最初试过:
df[col_a], df[col_b], df[col_c] = df[col].str.split(",", 2)
但要知道,可能并不总是有3个字符串,有很多行的形状是“StringA;StringB”。我在网上找到了如下解决方案:
df[col_a], df[col_b], df[col_c] = df[col].str.split(",", 2).str
这行代码运行得很好。它只是给了col\c NaN的值。我有点搞不懂加“str”是怎么回事。你知道吗
谢谢你的帮助!你知道吗
.str
是一个存取器。你知道吗基本上,它允许您将对象的
Series
具体地视为iterables的Series
(在本例中是列表)。你知道吗应用
split
之后,df[col
中的每个元素现在都包含一个列表。例如,您可以执行df[col].str.split(',').str[0]
,它将为您提供df[col]
中每个列表中的第一个元素。你知道吗通过将
.str
的结果分配给单个Series
,您正在执行tuple
解包的向量化形式,就像a, b, c = (1, 2, 3)
,但是对于Series
的每个元素。你知道吗示例:
另见我的答案here。你知道吗
相关问题 更多 >
编程相关推荐