Python 数据框中的圆形列
我得到了以下数据框Python 数据框中的圆形列,python,pandas,Python,Pandas,我得到了以下数据框 Y X id WP_NER 0 35.973496 -2.734554 1 WP_01 1 35.592138 -2.903913 2 WP_02 2 35.329853 -3.391070 3 WP_03 3 35.392608 -3.928513 4 WP_04 4 35.579265 -3.942995 5 WP_05 5 35.519728 -3.408771 6 WP_06 6 35.75948
Y X id WP_NER
0 35.973496 -2.734554 1 WP_01
1 35.592138 -2.903913 2 WP_02
2 35.329853 -3.391070 3 WP_03
3 35.392608 -3.928513 4 WP_04
4 35.579265 -3.942995 5 WP_05
5 35.519728 -3.408771 6 WP_06
6 35.759485 -3.078903 7 WP_07
我想用熊猫绕Y和X列。
我该怎么做?您可以:
如果要申请特定数量的地点:
In [143]:
df[['Y','X']].apply(lambda x: pd.Series.round(x, 3))
Out[143]:
Y X
0 35.973 -2.735
1 35.592 -2.904
2 35.330 -3.391
3 35.393 -3.929
4 35.579 -3.943
5 35.520 -3.409
6 35.759 -3.079
编辑
将上述内容指定给要修改的列,如下所示:
In [144]:
df[['Y','X']] = df[['Y','X']].apply(lambda x: pd.Series.round(x, 3))
df
Out[144]:
Y X id WP_NER
0 35.973 -2.735 1 WP_01
1 35.592 -2.904 2 WP_02
2 35.330 -3.391 3 WP_03
3 35.393 -3.929 4 WP_04
4 35.579 -3.943 5 WP_05
5 35.520 -3.409 6 WP_06
6 35.759 -3.079 7 WP_07
现在,您可以在数据帧上使用
round
选项1
In [661]: df.round({'Y': 2, 'X': 2})
Out[661]:
Y X id WP_NER
0 35.97 -2.73 1 WP_01
1 35.59 -2.90 2 WP_02
2 35.33 -3.39 3 WP_03
3 35.39 -3.93 4 WP_04
4 35.58 -3.94 5 WP_05
5 35.52 -3.41 6 WP_06
6 35.76 -3.08 7 WP_07
选项2
In [662]: cols = ['Y', 'X']
In [663]: df[cols] = df[cols].round(2)
In [664]: df
Out[664]:
Y X id WP_NER
0 35.97 -2.73 1 WP_01
1 35.59 -2.90 2 WP_02
2 35.33 -3.39 3 WP_03
3 35.39 -3.93 4 WP_04
4 35.58 -3.94 5 WP_05
5 35.52 -3.41 6 WP_06
6 35.76 -3.08 7 WP_07
Round非常聪明,它只在浮点列上工作,因此最简单的解决方案是:
df = df.round(2)
但是我“丢失”了id和WP\u ner列问题是,你用我的函数覆盖了你的“Y”、“X”列,我会更新来告诉你如果我只想对数值列进行舍入(而不指定列的名称)?如果值是
2.1
并且我提供df.round({Y':2,'X':2})
它将显示为2.1
。但我期待的是2.10
df = df.round(2)