我正在使用value count函数来分析一个大型pandas框架(n = 2483903973)中的数据。我的df的基本设计是:
df = {'Value': [0, 1, 1, 0], 'Class': pd.Series([1, 2, 1, 1)}
Value int32
Class int8
dtype: object
我有重复的价值观和重复的课程。然后我运行以下代码来计算每个Value:Class组合出现的次数。
df = df.value_counts().rename_axis(['Value','Class']).reset_index(name='counts')
Value Class Counts
0 0 1 2
1 1 1 1
2 1 2 1
Value int64
Class int64
Counts int64
dtype: object
我的问题是value_counts()的输出是一个int64的dtype,它占用了太多的内存。我正在寻找一种方法来设置输出的dtype更小的东西,老实说,像int16将工作。我查看了方法文档,但没有看到要传递的参数。任何帮助将不胜感激。
1条答案
按热度按时间htrmnn0y1#
你可以试试这个:
它可能不适用于大整数