dataframe中的数据类型及转化


1 float与str的互化

 

import pandas as pd
import numpy as np

df = pd.DataFrame({'a':[1.22, 4.33],
                   'b':[3.44, 5.66]})
# 将float类型转为str
# 法一
df['a'] = df['a'].apply(lambda x: str(x))
print(type(df['a'].values[1]))
# 法二
df['b'] = df['b'].astype(str)
print(type(df['b'].values[1]))
# str转float同上
df['a'] = df['a'].apply(lambda x: float(x))
print(type(df['a'].values[1]))
df['b'] = df['b'].astype(float)
print(type(df['b'].values[1]))
# <class 'str'>
# <class 'str'>
# <class 'numpy.float64'>
# <class 'numpy.float64'>
View Code

2 建表时,如果赋的是空值,默认是float类型,所以要指定数据类型。

特别是建了空表后,与其它表融合时,要注意数据类型的改变。

df = pd.DataFrame({ 'a': [], 'b': [], }) print(df.info()) df = pd.DataFrame({ 'a': [], 'b': [], }, dtype = np.int64) print(df.info()) # <class 'pandas.core.frame.DataFrame'> # RangeIndex: 0 entries # Data columns (total 2 columns): # a 0 non-null float64 # b 0 non-null float64 # dtypes: float64(2) # memory usage: 76.0 bytes # None # <class 'pandas.core.frame.DataFrame'> # RangeIndex: 0 entries # Data columns (total 2 columns): # a 0 non-null int64 # b 0 non-null int64 # dtypes: int64(2) # memory usage: 76.0 bytes # None

参考:https://blog.csdn.net/jinruoyanxu/article/details/79150896


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM