时间:2020-12-09 20:22:44 | 栏目:Python代码 | 点击:次
在数据处理过程中
比如从CSV文件中导入数据
data_df = pd.read_csv("names.csv")
在处理之前一定要查看数据的类型
data_df.info()
*RangeIndex: 891 entries, 0 to 890 Data columns (total 12 columns): Name 891 non-null object Sex 891 non-null object Age 714 non-null float64 SibSp 891 non-null int64 Parch 891 non-null int64 Ticket 891 non-null object Fare 891 non-null float64 Cabin 204 non-null object Embarked 889 non-null object dtypes: float64(2), int64(5), object(5) memory usage: 83.6+ KB*
以上object , int64, 以及 float64 便是数据的类型。
如果我们需要对列数据进行相互之间的运算的吧,必须注意的一点是:
两列的数据类型是否是相同的!!
如果一个object类型与int64的类型相加,便会发生错误
错误提示可能如下:
TypeError: ufunc 'add' not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')
此时的object类型可能是‘12.3'这样str格式的数字,如果要运算必须进行格式转换:
可采用如下方法(convert_objects):
dt_df = dt_df.convert_objects(convert_numeric=True)
亲测有效。
再提醒一遍!得到数据一定要先查看数据类型!!!