[英]How to create multiple rows based on list values stores in column in dataframe?
例如我有两行:
ID,dep_id
EMP1,1,2,3
EMP2,4,5,6
我想要 output 作为:
ID,dep_id
EMP1,1
EMP1,2
EMP1,3
EMP2,4
EMP2,5
EMP2,6
您可以为此使用pandas
:
import pandas as pd
import io
data = '''ID,dep_id
EMP1,"1,2,3"
EMP2,"4,5,6"'''
df = pd.read_csv(io.StringIO(data)) # insert your csv here
df['dep_id'] = ('['+df['dep_id']+ ']').apply(pd.eval) # turn string to list
df.explode('dep_id')df.explode('dep_id').reset_index(drop=True)
Output:
ID | dep_id | |
---|---|---|
0 | EMP1 | 1个 |
1个 | EMP1 | 2个 |
2个 | EMP1 | 3个 |
3个 | EMP2 | 4个 |
4个 | EMP2 | 5个 |
5个 | EMP2 | 6个 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.