熊猫:删除列并释放内存 - python

我正在处理大约20,000,000行和4列的大型数据集。
不幸的是,我机器上的可用内存(〜16GB)不足。

示例(时间是自午夜以来的秒数):

           Date   Time   Price     Vol
0      20010102  34222  51.750  227900
1      20010102  34234  51.750    5600
2      20010102  34236  51.875   14400

然后,将数据集转换为适当的时间序列对象:

                         Date   Time   Price     Vol
2001-01-02 09:30:22  20010102  34222  51.750  227900
2001-01-02 09:30:34  20010102  34234  51.750    5600
2001-01-02 09:30:36  20010102  34236  51.875   14400
2001-01-02 09:31:03  20010102  34263  51.750    2200

要释放内存,我想删除多余的“日期和时间”列。
我使用.drop()方法执行此操作,但未释放内存。之后,我也尝试致电gc.collect(),但这也没有帮助。

这是我用来处理所描述动作的代码。
del部分释放内存,但drop部分不释放。

# Store date and time components
m, s = divmod(data.Time.values, 60)
h, m = divmod(m, 60)
s, m, h = pd.Series(np.char.mod('%02d', s)), pd.Series(np.char.mod('%02d', m)), pd.Series(np.char.mod('%02d', h))

# Set time series index
data = data.set_index(pd.to_datetime(data.Date.reset_index(drop=True).apply(str) + h + m + s, format='%Y%m%d%H%M%S'))

# Remove redundant information
del s, m, h
data.drop('Date', axis=1, inplace=True)
data.drop('Time', axis=1, inplace=True)

如何从熊猫数据框中释放内存?

参考方案

del data['Date']
del data['Time']

这将释放内存。

熊猫-在整个数据框中找到特定的值 - python

我有一个数据框,我想在所有列中搜索文本“ Apple”的值。我知道如何在一列中执行此操作,但是如何将其应用于所有列?我想使其成为一个函数,以便下次可以直接使用它来搜索其他日期框架中的其他值。谢谢。 参考方案 考虑您的单个方法所拥有的内容,并包括在for循环中。for column in df: #your code here

熊猫:从SettingWithCopyWarning到loc和iloc - python

我试着做:input1['Signature_Fixed'] = 'NONE' i = 0 for row in input1['Signature']: if (row == 'Competitor'): input1['Signature_Fixed'][…

熊猫-保留与其他数据框中两个单元格匹配的行 - python

我有一个像这样的数据框df: trial id run rt acc 0 1 1 1 0.941836 1 1 2 1 1 0.913791 1 2 3 1 1 0.128986 1 3 4 1 1 0.155720 0 4 1 1 2 0.414175 0 5 2 1 2 0.699326 1 6 3 1 2 0.781877 1 7 4 1 2 0.55…

熊猫:根据单独列的值更新多个列和行 - python

我正在尝试创建一个代码,该代码可以根据ID列的值尽快更新大量的熊猫值。我正在使用atm的代码在一个ID_column的基础上同时插入多行,但是无法同时插入多列+行。下面的代码是一个简化示例,该示例根据列名ID的值更新2列(值1和值2)。id_list = [24,26,28] value1_list =[100,200,300] value2_list =[…

熊猫:根据其他列的值有条件地替换值 - python

我有一个数据框(df),如下所示: environment event time 2017-04-28 13:08:22 NaN add_rd 2017-04-28 08:58:40 NaN add_rd 2017-05-03 07:59:35 test add_env 2017-05-03 08:05:14 prod add_env ... 现在,我的目标…