微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Dataframe 删除存储在浮点列表中的不需要的字符

如何解决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 举报,一经查实,本站将立刻删除。