[英]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.