当前位置: 首页 > 知识库问答 >
问题:

根据数据类型获取熊猫数据帧列列表

何松
2023-03-14

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

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] 

我想能够说:这里是一个数据框,给我一个列的列表,它是类型Object还是类型DateTime?

我有一个将数字(Float64)转换为两位小数的函数,我想使用这个特定类型的dataframe列列表,并通过这个函数将它们全部转换为2dp。

也许 吧:

For c in col_list: if c.dtype = "Something"
list[]
List.append(c)?

共有3个答案

孙永思
2023-03-14

使用dtype将为您提供所需列的数据类型:

dataframe['column1'].dtype

如果您想一次知道所有列的数据类型,可以使用dtype的复数形式作为dtype:

dataframe.dtypes
陈茂
2023-03-14

从v0.14.1开始,您可以利用select\u dtypes()数据类型选择列

In [2]: df = pd.DataFrame({'NAME': list('abcdef'),
    'On_Time': [True, False] * 3,
    'On_Budget': [False, True] * 3})

In [3]: df.select_dtypes(include=['bool'])
Out[3]:
  On_Budget On_Time
0     False    True
1      True   False
2     False    True
3      True   False
4     False    True
5      True   False

In [4]: mylist = list(df.select_dtypes(include=['bool']).columns)

In [5]: mylist
Out[5]: ['On_Budget', 'On_Time']
祝嘉懿
2023-03-14

如果需要特定类型的列列表,可以使用groupby

>>> df = pd.DataFrame([[1, 2.3456, 'c', 'd', 78]], columns=list("ABCDE"))
>>> df
   A       B  C  D   E
0  1  2.3456  c  d  78

[1 rows x 5 columns]
>>> df.dtypes
A      int64
B    float64
C     object
D     object
E      int64
dtype: object
>>> g = df.columns.to_series().groupby(df.dtypes).groups
>>> g
{dtype('int64'): ['A', 'E'], dtype('float64'): ['B'], dtype('O'): ['C', 'D']}
>>> {k.name: v for k, v in g.items()}
{'object': ['C', 'D'], 'int64': ['A', 'E'], 'float64': ['B']}
 类似资料:
  • 问题内容: 如果我有一个包含以下列的数据框: 我想说:这是一个数据框,请给我列出对象类型或日期时间类型的列的列表吗? 我有一个将数字(Float64)转换为两位小数的函数,并且我想使用此数据框列的特定类型的列表,并通过此函数运行它以将它们全部转换为2dp。 也许: 问题答案: 如果您想要某种类型的列的列表,可以使用:

  • 我有点被困在提取一个变量的值和另一个变量的条件上。例如,以下数据帧: 当时,如何获取的值?每次提取的值时,都会得到一个对象,而不是字符串。

  • 问题内容: 我有点被困在提取另一个变量的条件变量的值上。例如,以下数据框: 如何获得when的价值?每当我提取的值时,我都会得到一个对象,而不是字符串。 问题答案: 您可以用来获取满足条件的序列,然后获取第一个元素:

  • 有可能获得数据帧中每个唯一项的最后一个条目吗?我有一个这样的数据框架: 所以我想得到用户的最后记录,例如数据帧它必须返回, 是否可以按日期获取最后一条记录。 谢谢

  • 我在Python中使用一个视频游戏的熊猫DataFrame,每个游戏都有一种类型。我正在尝试删除任何在DataFrame中出现次数少于一定次数的类型的视频游戏,但我不知道该怎么做。我确实发现了一个StackOverflow问题,这个问题似乎是相关的,但我根本无法破译这个解决方案(可能是因为我从未听说过R,而且我对函数编程的记忆充其量也很生疏)。 帮助?

  • 我有一个事件日志数据框,每行是一个事件(如查看项目),其中包含列,,以及用户分配项目的。我想创建一个表示所有用户-项目交互的数据框:表示为二维矩阵,每个(i,j)表示用户i和项目j的分数(下图截图)。如果用户尚未看到该产品,则分配NaN。 我试过用循环做这件事,但正如预期的那样,运行时间太长: 有没有更快的方法? 根据评论中的要求,我的数据帧的头部<代码>事件类型与上述分数类似。