如果我有一个包含以下列的数据框:
1. NAME object
2. On_Time object
3. On_Budget object
4. %actual_hr float64
5. Baseline Start Date datetime64[ns]
6. Forecast Start Date datetime64[ns]
Run Code Online (Sandbox Code Playgroud)
我想能够说:这是一个数据帧,给我一个类型为Object或DateTime类型的列的列表?
我有一个函数将数字(Float64)转换为两个小数位,我想使用这个特定类型的数据帧列表,并通过此函数运行它将它们全部转换为2dp.
也许:
For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?
Run Code Online (Sandbox Code Playgroud) 有时,当数据导入到Pandas Dataframe时,它总是作为类型导入object.这很好,适合做大多数操作,但我正在尝试创建自定义导出功能,我的问题是:
我知道我可以告诉Pandas这是int,str等类型..但是我不想这样做,我希望当用户导入或添加列时,pandas可以足够聪明地知道所有数据类型.
编辑 - 导入的例子
a = ['a']
col = ['somename']
df = pd.DataFrame(a, columns=col)
print(df.dtypes)
>>> somename object
dtype: object
Run Code Online (Sandbox Code Playgroud)
类型应该是字符串?
例如:
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)