python - 这是一个系列还是数据框?

标签 python pandas numpy dataframe

我是 Python 的新手,有一些基本的问题,直到现在我都找不到答案。

假设我有以下名为 phone 的数据框。

     current_cellphone  | months of usage |  previous_cellphone
0   |     Motorola       |     11          |    Motorola
1   |     Huawei         |     21          |    Nokia
2   |     Motorola       |     13          |    Motorola
3   |     Nokia          |     2           |    iphone
4   |     Huawei         |     20          |    Huawei
5   |     Motorola       |     15          |    Motorola
6   |     Sony           |     9           |    HTC

我的倡议是按current_cellphone分组,选择被统计多次的(摩托罗拉和华为)。

phone['current_cellphone'].value_counts

结果是

Motorola      |      3
Huawei        |      2
Nokia         |      1

我的第一个问题是:上面的代码是否产生数据框或系列?

我的第二个问题是:如何检索上表的第一列和第二列?

非常感谢您的帮助..

最佳答案

pandas.Series目的。您可以使用 type() 找到它.

In [157]: phone
Out[157]: 
  current_cellphone  |  months of     usage  |.1  previous_cellphone
0          Motorola  |      11  |  Motorola  NaN                 NaN
1            Huawei  |      21  |     Nokia  NaN                 NaN
2          Motorola  |      13  |  Motorola  NaN                 NaN
3             Nokia  |       2  |    iphone  NaN                 NaN
4            Huawei  |      20  |    Huawei  NaN                 NaN
5          Motorola  |      15  |  Motorola  NaN                 NaN
6              Sony  |       9  |       HTC  NaN                 NaN

In [158]: vc = phone['current_cellphone'].value_counts()

In [159]: vc
Out[159]: 
Motorola    3
Huawei      2
Nokia       1
Sony        1
Name: current_cellphone, dtype: int64

In [160]: type(vc)
Out[160]: pandas.core.series.Series

从系列中提取信息:

In [169]: vc.values
Out[169]: array([3, 2, 1, 1])

In [170]: vc.keys()
Out[170]: Index([u'Motorola', u'Huawei', u'Nokia', u'Sony'], dtype='object')

In [176]: vc.to_dict()
Out[176]: {'Huawei': 2, 'Motorola': 3, 'Nokia': 1, 'Sony': 1}

In [177]: vc.to_dict().keys()
Out[177]: ['Nokia', 'Huawei', 'Motorola', 'Sony']

In [178]: vc.to_dict().values()
Out[178]: [1, 2, 3, 1]

转换为数据框:

In [180]: pd.DataFrame(vc)
Out[180]: 
          current_cellphone
Motorola                  3
Huawei                    2
Nokia                     1
Sony                      1

关于python - 这是一个系列还是数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39434323/

相关文章:

python - 在python中按组枚举行

python - 创建一个 Pandas/NumPy 函数来查找系列中的值何时发生变化?

python - 运行多个 LinearRegressions 测试时准确度没有增加

python - pytorch 模型在第一轮后返回 NAN

python - 解析 csv 文件中的日期和时间

python - 在 numpy 掩码数组中替换值

python - 沿任意轴的 numpy 广播加法

Python Elaphe - 条码生成问题

python - 更新 3D 数组时的意外行为

python - 根据列名称值对 pandas 中的数据框进行子集化