将DataFrame的数字部分由字符串类型转换为数字类型

您所在的位置:网站首页 将字符串转换为数字python 将DataFrame的数字部分由字符串类型转换为数字类型

将DataFrame的数字部分由字符串类型转换为数字类型

2023-07-25 13:16| 来源: 网络整理| 查看: 265

今天我准备用Excel进行画图的时候,我发现我Excel中的数据无法正常画出,例如:

这是为什么啊,因为这些数据储存的时候,被存为了字符串类型,而不是数字类型,我们可以通过python函数进行数据类型的转换

具体代码如下:

import pandas as pd data = pd.read_csv("333.csv") def SeriesFloat(series): """ :param series: 输入的series :return: 元素转换为float或int后的series """ length = len(series) FloatSeries = pd.Series([], dtype='object') index = 0 for i in range(length): n = series[i] # 将可变为float或int类型的元素转换为float或int,不能转换的保留原格式 try: if '*' in n: # 运算符都需要考虑,我这边数据里只有乘号 FloatSeries[index] = n else: FloatSeries[index] = eval(n) except Exception: FloatSeries[index] = n index += 1 return FloatSeries def DataFrameFloat(dataframe): """ :param dataframe: 输入的dataframe :return: 元素转换为float或int后的dataframe """ # 构建与传入dataframe列名相同的dataframe columns = [] for column in dataframe.columns: columns.append(column) FloatDataFrame = pd.DataFrame(columns=columns) # 将元素转换为float的series赋值到目标dataframe for i in columns: series = dataframe[i] series = SeriesFloat(series) FloatDataFrame[i] = series return FloatDataFrame dataz = DataFrameFloat(data)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3