【问题标题】:How to create a DataFrame in Pandas如何在 Pandas 中创建 DataFrame
【发布时间】:2017-12-09 14:08:37
【问题描述】:

我正在使用 playerStat.csv,其中包括 8 列,我只需要其中的 2 列。所以我正在尝试创建一个只有这 2 列的新 DataFrame。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv("HLTVData/playerStats.csv")
dataset.head(20)

我只需要 ADR 和评级。

所以我先用数据集创建一个矩阵。

mat = dataset.as_matrix()
#4 is the ADR and 6 is the Rating
newDAtaSet = pd.DataFrame(dataset, index=indexMatrix,columns=(mat[:,4],mat[:,6]) )

但它不起作用,它抛出了一个异常

NameError                                 Traceback (most recent call last)
<ipython-input-10-1f975cc2514a> in <module>()
      1 #4 is the ADR and 6 is the Rating
----> 2 newDataSet  = pd.DataFrame(dataset, index=indexMatrix,columns=(mat[:,4],mat[:,6]) )
      

NameError: name 'indexMatrix' is not defined

我也尝试过使用数据集。

newDataSet = pd.DataFrame(dataset, index=np.array(range(dataset.shape[0])), columns=dataset['ADR'])

/home/tensor/miniconda3/envs/tensorflow35openvc/lib/python3.5/site-packages/pandas/core/internals.py in _make_na_block(self, placement, fill_value)
   3984 
   3985         dtype, fill_value = infer_dtype_from_scalar(fill_value)
-> 3986         block_values = np.empty(block_shape, dtype=dtype)
   3987         block_values.fill(fill_value)
   3988         return make_block(block_values, placement=placement)

MemoryError: 

【问题讨论】:

    标签: python csv pandas dataset


    【解决方案1】:

    我认为您需要在read_csv 中使用参数usecols

    dataset = pd.read_csv("HLTVData/playerStats.csv", usecols=['ADR','Rating'])
    

    或者:

    dataset = pd.read_csv("HLTVData/playerStats.csv", usecols=[4,6])
    

    【讨论】:

      猜你喜欢
      • 2022-11-27
      • 1970-01-01
      • 2019-07-08
      • 2020-12-05
      • 1970-01-01
      • 2022-01-23
      • 2018-08-21
      • 2021-10-24
      相关资源
      最近更新 更多