我需要将列表项的列表逐行填充到已定义的数据框中。你能帮我怎么做吗?
我真的很抱歉我正在改变我的要求。
例子:
list_item = [['1|x', '2|x', '3|-'],
['5|x', '6|-', '7|x'],
['9|x', '10|x', '11|-']]
预定义数据框:df
Name Code City
Shiv Sh ALD
Kumar KR PJ
Ram RM KL
Shank SK RM
Jeet JT PKG
Atul AT FTP
Ganesh GS TL
Kishor KH KI
Gagan GN AK
最终输出:
df:
Name Code City Num Expr
Shiv Sh ALD 1 x
Kumar KR PJ 2 x
Ram RM KL 3 -
Shank SK RM 5 x
Jeet JT PKG 6 -
Atul AT FTP 7 x
Ganesh GS TL 9 x
Kishor KH KI 10 x
Gagan GN AK 11 x
您可以使用np.ravel
:
df["new"] = np.array(list_item).ravel()
print (df)
Name Code City new
0 Shiv Sh ALD 1
1 Kumar KR PJ 2
2 Ram RM KL 3
3 Shank SK RM 5
4 Jeet JT PKG 6
5 Atul AT FTP 7
6 Ganesh GS TL 9
7 Kishor KH KI 10
8 Gagan GN AK 11
更新问题后:
list_item = [['1|x', '2|x', '3|-'],
['5|x', '6|-', '7|x'],
['9|x', '10|x', '11|-']]
s = pd.Series(np.array(list_item).ravel())
df[['Num', 'Expr']] = s.str.split('|', n=1, expand=True)
df
Name Code City Num Expr
0 Shiv Sh ALD 1 x
1 Kumar KR PJ 2 x
2 Ram RM KL 3 -
3 Shank SK RM 5 x
4 Jeet JT PKG 6 -
5 Atul AT FTP 7 x
6 Ganesh GS TL 9 x
7 Kishor KH KI 10 x
8 Gagan GN AK 11 -
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句