使用分隔符将一列拆分为多列
我有一个数据框,其中一个字段包含多个用“+”分隔的值。 我想要的是将每个值拆分为一个新列。
import pandas as pd
df = {'ID': [3009, 129, 119, 120, 121],
'date': ['2016+2017', '2015', '2014+2019+2020', '2020', 'NULL']
}
df = pd.DataFrame(df)
如下所示:
df
Out[25]:
ID date
0 3009 2016+2017
1 129 2015
2 119 2014+2019+2020
3 120 2020
4 121 NULL
我想用“+”分隔符拆分“日期”列,并根据现有分隔符的数量创建列,然后创建一个显示每条记录的日期数的列。
ID date date2 date3 number of dates
0 3009 2016 2017 NULL 2
1 129 2015 NULL NULL 1
2 119 2014 2019 2020 3
3 120 2020 NULL NULL 1
4 121 NULL NULL NULL 0
我尝试了这段代码:
df["date"] = df.date.apply(lambda x: pd.Series(str(x).split("+")))
但它粉碎并显示以下错误:
ValueError:传递的项目数量错误为 4,放置意味着 1
i have a dataframe that have one of its filed contains multiple values separated by "+".
What i want is to split each value into a new column.
import pandas as pd
df = {'ID': [3009, 129, 119, 120, 121],
'date': ['2016+2017', '2015', '2014+2019+2020', '2020', 'NULL']
}
df = pd.DataFrame(df)
LOOK like this:
df
Out[25]:
ID date
0 3009 2016+2017
1 129 2015
2 119 2014+2019+2020
3 120 2020
4 121 NULL
I want to split the column 'date' by the '+' delimiter and create columns based on the number of existing delimiters then create a columns that display the number of dates for each record.
ID date date2 date3 number of dates
0 3009 2016 2017 NULL 2
1 129 2015 NULL NULL 1
2 119 2014 2019 2020 3
3 120 2020 NULL NULL 1
4 121 NULL NULL NULL 0
I tried this code:
df["date"] = df.date.apply(lambda x: pd.Series(str(x).split("+")))
but it crush and display the below error:
ValueError: Wrong number of items passed 4, placement implies 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
str.split
进行分割,使用
count
进行计数Use
str.split
to splitand
count
to count