我有一个看起来像这样的数据结构:
A B C
-0.093911 0.597749 foo,bar,delimited,list
-0.460680 0.475724 0.492991
我想将列中的定界值分成不同的行,其余各行的值与目标行相同。目标数据框示例:
A B C
-0.093911 0.597749 foo
-0.093911 0.597749 bar
-0.093911 0.597749 delimited
-0.093911 0.597749 list
-0.460680 0.475724 0.492991
使用.iterrows()
并检查尝试用定界符分割列'C'
的长度很容易,然后从那里创建必要的行。我想知道熊猫里有没有一个我可以错过的内置物品?
答案 0 :(得分:3)
使用DataFrame.explode
列中的Series.str.split
在熊猫0.25以上版本中工作:
df = df.assign(C = df.C.str.split(',')).explode('C').reset_index(drop=True)
print (df)
A B C
0 -0.093911 0.597749 foo
1 -0.093911 0.597749 bar
2 -0.093911 0.597749 delimited
3 -0.093911 0.597749 list
4 -0.460680 0.475724 0.492991