Rak*_*sha 9 python types dataframe pandas
例如:
df = pd.DataFrame([[int(1),2,3],[int(5),6,'a'],[0.1,4,True]], columns = list("abc"))
df
a b c
0 1.0 2 3
1 5.0 6 a
2 0.1 4 True
Run Code Online (Sandbox Code Playgroud)
(附带问题:为什么声明没有int做任何事情?)
现在,df.dtypes返回
a float64
b int64
c object
dtype: object
Run Code Online (Sandbox Code Playgroud)
但是是否有可能在一列中实际列出所有不同的数据类型?
喜欢
a int64, float64
b int64
c int64, str, bool
Run Code Online (Sandbox Code Playgroud)
您可以使用.applymap(type)原始数据框中各个值的类型来取回数据框:
df = pd.DataFrame([[1, 2, 3],[5, 6, 'a'],[0.1, 4, True]], columns = list("abc"))
print(df.applymap(type))
Run Code Online (Sandbox Code Playgroud)
输出
a b c
0 <class 'float'> <class 'int'> <class 'int'>
1 <class 'float'> <class 'int'> <class 'str'>
2 <class 'float'> <class 'int'> <class 'bool'>
Run Code Online (Sandbox Code Playgroud)
附带问题:为什么声明没有
int做任何事情?)
Python 中没有“声明”这样的东西。int(1)(几乎)与 没有什么不同1。列a显示为,float64因为最后一个元素是0.1。这会导致将和pandas转换为(因为无法转换为)。15float0.1int