我是数据科学和数据分析的新手,我希望我的问题不是太天真。我目前正在尝试使用pandas和python打开一个文件用于机器学习目的,我将它们全部放在DataFrame中是理想的。现在该文件是18GB大,我的RAM是32 GB,但我不断收到内存错误。
提前致谢。
答案 0 :(得分:0)
您应该每次尝试读取并处理一个预定义的数据块 通过使用chunksize解释here
<form>
<table class="table-fixed">
<thead>
<tr>
<th *ngIf="selectionMode == 'multi'" class="checkbox">
<mat-checkbox (change)="onChangeSelectionAll($event)">
</mat-checkbox>
</th>
<th *ngFor="let column of columns" class="pointer" (click)="sort(column)">{{column.label}}
</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let node of data">
<td>
<mat-checkbox [checked]="node.isSelected" name="node.id" (change)="onChangeSelection($event, node)" [ngClass]="node.isFiltered ? 'filtered' : ''">
</mat-checkbox>
</td>
<td *ngIf="showIcon" class="icon" (click)="onClicked($event, node)">
<i class="icon-{{node.data.iconname ? node.data.iconname.toLowerCase().replace('.png', '') : ''}}" height="24"></i>
</td>
<td *ngIf="showStatus" class="icon">
<i *ngIf="node.tooltip !== '<ul></ul>'" tooltip-delay="300" tooltip='{{ node.tooltip }}' tooltip-position="right" class="material-icons {{node.icon_class}}"
height="24">{{node.icon}}</i>
<i *ngIf="node.tooltip === '<ul></ul>'" class="material-icons {{node.icon_class}}" height="24">{{node.icon}}</i>
</td>
<td *ngFor="let column of columns" class="{{(node.normalizedError && node.normalizedError[column.id]) ? 'error' : 'normal'}}"
tooltip="{{(node.normalizedError && node.normalizedError[column.id]) ? node.normalizedError[column.id] : false}}"
tooltip-delay="300" tooltip-position="below" tooltipDisabled="{{(node.normalizedError && node.normalizedError[column.id]) ? false : true}}"
(click)="onClicked($event, node)" [innerHTML]="node.normalizedData[column.name.toLowerCase()] ? node.normalizedData[column.name.toLowerCase()] : ''"></td>
</tr>
</tbody>
<!--</div>-->
</table>
</form>
答案 1 :(得分:0)
您可以使用块中的数据吗?如果是这样,您可以使用pandas的迭代器接口来浏览文件。
df_iterator = pd.read_csv('test.csv', index_col=0, iterator=True, chunksize=5)
for df in df_iterator:
print(df)
# do something meaningful
print('finished iteration on {} rows'.format(df.shape[0]))
print()