给定数据类型的所有列的列表

2024-05-14 19:28:40 发布

您现在位置:Python中文网/ 问答频道 /正文

在pandas中是否可以按数据类型分组? 例如,我需要一个“objects”或“float”类型的所有列的列表。你知道吗

这段代码将返回我所需要的。我正在寻找一个更好的方法来实现这一点(如果可能的话)。你知道吗

from collections import defaultdict
food_count = defaultdict(list)

for i, v in dict(df.dtypes).items():
    food_count[v].append(i)

dict(food_count)

{dtype('<M8[ns]'): ['agency_spot_time'],
 dtype('int64'): ['cost', 'spot_id', 'Event'],
 dtype('O'): ['channel'],
 dtype('float64'): ['viziters']}

Tags: 方法代码from类型pandas列表objectsfood
1条回答
网友
1楼 · 发布于 2024-05-14 19:28:40

您可以使用groupbyagg

food_count = (lambda s: (
     pd.Series(s.index, s).groupby(level=0).agg(list).to_dict()))(df.dtypes)

更具可读性的版本是:

s = df.dtypes
food_count = pd.Series(s.index, s).groupby(level=0).agg(list).to_dict())

相关问题 更多 >

    热门问题