使用位置列表memeber从一系列列表创建系列

时间:2017-06-23 01:01:04

标签: python pandas dataframe

我有一个带字符串列的数据框。我需要在col1.split('')之后创建一个包含第3个元素的新列。我试过了

df['col1'].str.split(' ')[0]

但我得到的只是错误。

实际上我需要在"分割之后将col1变成多个列。 "

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

考虑这个df

df = pd.DataFrame({'col':['假设2000大于5']})

    col
0   Lets say 2000 is greater than 5

您可以拆分并使用str访问器来获取不同位置的元素

df['third'] = df.col.str.split(' ').str[2]
df['fifth'] = df.col.str.split(' ').str[4]
df['last'] = df.col.str.split(' ').str[-1]

    col                             third   fifth   last
 0  Lets say 2000 is greater than 5 2000    greater 5

答案 1 :(得分:0)

另一种方式是:     df["third"] = df['col1'].apply(lambda x: x.split()[2])