如何解决Python Dataframe 删除存储在浮点列表中的不需要的字符
我有一个数据框。它呈现来自现场的传感器数据。奇怪的是,它以字符串格式存储浮点值列表。这意味着,在开头和结尾处加引号。最后有一个不需要的逗号。我想摆脱他们。
我的代码:
df =
index col_A col_B
2018-12-13 09:00:03 '-1.780,-1.747,' '-1.730,-1.647,' # Each cell of the dataframe has two float values inside it.
2018-12-13 09:00:19 '-1.714,-1.680,' '-1.614,-1.531,'
2018-12-13 09:37:03 '-1.797,-1.780,' '-1.680,-1.581,'
2018-12-13 09:37:19 '-1.780,-1.730,-1.597,'
2018-12-13 10:07:17 '-1.497,-1.464,' '-1.431,-1.398,'
for idx,row in df.iterrows():
plt.plot(row['col_A'],row['col_B'])
plt.show()
当前输出:
ValueError: 非法格式字符串 '-1.780,';两个标记符号
解决方法
您可以解析字符串以获取浮点值
def parse_data(s):
try:
return (float(s.split(',')[0]),float(s.split(',')[1]))
except:
return (0.0,0.0)
(df['col_A_1'],df['col_A_2']) = df['col_A'].apply(parse_data)
(df['col_B_1'],df['col_B_2']) = df['col_B'].apply(parse_data)
# delete old columns no longer in use
del df['col_A']
del df['col_B']
index | col_A_1 | col_A_2 | col_B_1 | col_B_2 |
---|---|---|---|---|
2018-12-13 09:00:03, | -1.780 | -1.780 | -1.730 | -1.730 |
2018-12-13 09:00:03, | -1.747 | -1.747 | -1.647 | -1.647 |
现在你可以使用 'col_A_1,col_A_2 等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。