根据数据类型获取pandas dataframe列的列表

16 浏览
0 Comments

根据数据类型获取pandas dataframe列的列表

如果我有一个包含以下列的数据框:

1. 名称                                      对象
2. 准时                                      对象
3. 在预算内                                    对象
4. 实际小时百分比                                  浮点数
5. 基准开始日期                  日期时间
6. 预测开始日期                  日期时间 

我想要说的是:对于这个数据框,给我一个列的列表,这些列的类型是'对象'或'日期时间'

我有一个将数字('浮点数')转换为两位小数的函数,我想使用这个特定类型的数据框列的列表,并将其全部运行通过这个函数转换为2位小数。

也许像这样:

对于c在col_list中:如果c.dtype = "某些类型"
列表[]
列表.append(c)?

0
0 Comments

问题的出现原因:

在pandas中,我们经常需要根据数据类型来筛选出特定的列。然而,没有提供一个直接的方法来获取满足特定数据类型的列的列表。因此,这个问题的出现是因为需要获取pandas dataframe中特定数据类型的列。

解决方法:

我们可以使用pandas的select_dtypes方法来解决这个问题。select_dtypes方法可以根据数据类型对列进行筛选,并返回满足条件的列。通过使用select_dtypes方法和['object']参数,我们可以获取数据类型为object的列。而使用.columns属性可以获取到这些列的列表。

下面是解决这个问题的代码:

list(df.select_dtypes(['object']).columns)

这个代码将返回一个列表,包含数据类型为object的列。

这样,我们就可以轻松地根据数据类型获取到满足条件的列的列表了。

0
0 Comments

问题的出现原因是需要根据数据类型获取pandas dataframe的列名列表。解决方法是使用pandas的select_dtypes()函数来选择指定数据类型的列。

在pandas版本v0.14.1及更高版本中,可以使用select_dtypes()函数来选择指定数据类型的列。首先创建一个DataFrame对象df,包含三列:'NAME'、'On_Time'和'On_Budget'。其中'NAME'列包含字母序列,'On_Time'和'On_Budget'列包含布尔值序列。然后使用df.select_dtypes(include=['bool'])来选择包含布尔值的列。最后,使用list()函数将选择的列名转换为列表,存储在变量mylist中。

以上代码的输出结果是包含布尔值的列名列表:['On_Budget', 'On_Time']。

0
0 Comments

问题的出现原因是需要获取特定类型的列,并将其整理为一个列表。解决方法是使用groupby函数来实现。

文章标题:根据数据类型获取Pandas数据框的列列表

在处理数据时,有时候我们需要根据数据类型来获取特定类型的列。对于这个需求,我们可以使用groupby函数来实现。下面是一个示例:

import pandas as pd
# 创建数据框
df = pd.DataFrame([[1, 2.3456, 'c', 'd', 78]], columns=list("ABCDE"))
# 打印数据框
print(df)
# 打印数据框的数据类型
print(df.dtypes)
# 根据数据类型分组
g = df.columns.to_series().groupby(df.dtypes).groups
# 打印分组结果
print(g)
# 将结果整理为字典
result = {k.name: v for k, v in g.items()}
# 打印最终结果
print(result)

运行以上代码,我们可以得到如下输出:

   A       B  C  D   E
0  1  2.3456  c  d  78
dtype: object
{dtype('int64'): ['A', 'E'], dtype('float64'): ['B'], dtype('O'): ['C', 'D']}
{'object': ['C', 'D'], 'int64': ['A', 'E'], 'float64': ['B']}

以上代码的目的是创建一个包含不同数据类型的数据框,并根据数据类型将列分组。我们通过调用`df.columns.to_series()`将数据框的列转换为Series对象,然后使用groupby函数根据数据类型进行分组。最后,我们将分组结果整理为字典。

通过以上方法,我们可以方便地获取特定类型的列,并将其整理为一个列表,以满足我们的需求。这种方法简单易用,能够有效地提高我们处理数据的效率。

0