用 python 将浮点数分成两半
split float numbers in half with python
我正在处理使用 Adobe acrobat pro 从 pdf 转换而来的 csv table。出于某种原因,该软件每 117 行创建一个重复错误。它 "duplicates & concatenates the numbers" 例如一行
7307 1 87.1
变成了这样的东西:
73077307 11 87187.1
我如何 "correct" 这些行与 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+1) 行的索引 - 第 (i) 行的索引大于 1,则需要更正。但我是 python 的初学者。我不知道怎么写,但那是一个不同的问题。
我正在使用 python 版本 2.7.8 pandas v. 0.14.1
非常感谢!
将每个 space 分隔的单词作为字符串抓取到列表中。对于该列表中的每个项目,检查单词的长度是偶数还是奇数。如果偶数,则用单词的右半部分替换单词。如果奇数(因为右侧的“。”)抓住右半部分向上舍入(例如,9 个字符的单词中最右边的 5 个字符)。替换每个单词时添加到float64的转换。
我正在处理使用 Adobe acrobat pro 从 pdf 转换而来的 csv table。出于某种原因,该软件每 117 行创建一个重复错误。它 "duplicates & concatenates the numbers" 例如一行
7307 1 87.1
变成了这样的东西:
73077307 11 87187.1
我如何 "correct" 这些行与 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+1) 行的索引 - 第 (i) 行的索引大于 1,则需要更正。但我是 python 的初学者。我不知道怎么写,但那是一个不同的问题。
我正在使用 python 版本 2.7.8 pandas v. 0.14.1
非常感谢!
将每个 space 分隔的单词作为字符串抓取到列表中。对于该列表中的每个项目,检查单词的长度是偶数还是奇数。如果偶数,则用单词的右半部分替换单词。如果奇数(因为右侧的“。”)抓住右半部分向上舍入(例如,9 个字符的单词中最右边的 5 个字符)。替换每个单词时添加到float64的转换。