给出以下数据框:
Movement Distance Speed Delay Loss
0 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
1 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
2 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
3 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
4 [1, 1] [1, 1] [25, 25] [0, 0] [0, 0]
如何删除每列中除第一个元素之外的所有元素,然后取消列出,使数据框变成这样:
Movement Distance Speed Delay Loss
0 1 1 25 0 0
1 1 1 25 0 0
2 1 1 25 0 0
3 1 1 25 0 0
4 1 1 25 0 0
答案 0 :(得分:3)
df.apply(lambda x: pd.to_numeric(x.str[0], downcast='integer', errors='ignore'))
或者如果数据已经干净了,我们在熊猫1.0中新增了convert_dtypes
(感谢cs95):
df.apply(lambda x: x.str[0]).convert_dtypes()
Movement Distance Speed Delay Loss
0 1 1 25 0 0
1 1 1 25 0 0
2 1 1 25 0 0
3 1 1 25 0 0
4 1 1 25 0 0