【发布时间】:2021-07-28 14:50:24
【问题描述】:
我有以下数据框:
date sea_temp_diff wind_distance_diff wind_speed_diff temp_diff humidity_diff current_distance_diff current_speed_diff month year
0 2017.04 2.600000 20.000000 -4.000000 0.000000 0.000000 -90.000000 -1.000000e-01 04 2017
1 2017.05 -1.553333 8.666667 0.833333 -0.766667 0.000000 95.000000 -1.300000e-01 05 2017
2 2017.06 -1.551852 -10.370370 -1.888889 -0.888889 0.000000 179.629630 -2.851852e-01 06 2017
3 2017.07 -1.653571 -20.000000 -2.357143 -1.071429 0.000000 77.142857 -3.000000e-01 07 2017
4 2017.08 -1.287500 -8.333333 -1.916667 -1.166667 0.000000 88.333333 -2.041667e-01 08 2017
5 2017.09 -1.262500 3.333333 -1.375000 0.166667 615.833333 13.333333 -3.750000e-02 09 2017
6 2017.10 -0.809677 -146.451613 -161.548387 0.419355 -7.064516 -79.354839 -1.613645e+02 .1 2017
我生成了这个数据框:
australia_overview_clean['month'] = australia_overview_clean['date'].astype(str).str[-2:]
australia_overview_clean
但由于某种原因,我没有返回“10”月份,而是得到“0.1”。虽然它在数学上与 10 或 0.10 相同,但我不介意找到一种方法来代替 10。有什么办法可以解决这个问题吗?
【问题讨论】:
-
请修正您的数据 sn-p 格式。但是,由于您的列
month似乎有前导零,我会假设.1(请参阅最后一个数据行)是一个错字,应该是01(.在小键盘上的0旁边) . -
我无法重现该问题。
-
@Iguananaut - 您需要将“日期”列设为
float才能重现该问题。 -
未来注意事项:尝试编写足够独立的问题标题,以便有人可以从标题中识别出您的问题所涉及的具体技术问题在阅读问题正文之前 . (我试图为此进行编辑)。
-
是的,01/02 格式似乎确实导致了问题。你说得对,.1 确实是一个错字,但实际上我想要的是 10,而不是另一个 01。
标签: python pandas dataframe decimal