繁体   English   中英

用python将浮点数分成两半

[英]split float numbers in half with python

我正在处理使用Adobe acrobat pro从pdf转换的csv表。 由于某种原因,该软件每隔117行会产生重复错误。 它“复制并连接数字”,例如一行

7307 1 87.1

被转换成这种形式的东西:

73077307 11 87187.1

如何使用python“更正”这些行? 我将需要在中间拆分浮动并擦除前半部分。

我已经阅读了一些有关截断的线程,但是其中大多数都需要将浮点数除以小数点或仅处理整数。 数据类型为float64,因为我正在使用pandas read_csv函数读取csv。

df = pd.read_csv('path/file.csv',sep=';',index_col='Rang', na_values=['NA'])
df.dropna(how="all", inplace=True) # drop empty rows (an additional issue)
df[(df.index >10000)]

EDIT1:添加了代码,我认为我可以确定错误的代码,因为一年中每小时我有1行。 索引大于365 * 24 = 8760的任何行都是错误的。 但是我现在还不够。 可以循环数据帧,如果第(i)行的索引(i + 1)的索引大于1,则需要进行校正。 但是我是python的初学者。我不确定如何写,但这是一个不同的问题。

我正在使用python版本2.7.8 pandas v.0.14.1

非常感谢!

将每个以空格分隔的单词作为字符串抓取到列表中。 对于该列表中的每个项目,检查单词len是否为偶数或奇数。 如果是偶数,请用单词的右半部分替换单词。 如果是奇数(由于在右侧为“。”),则将右半部分四舍五入(例如,在9个字符的单词中,最右5个字符)。 替换每个单词时,将转换添加到float64。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM