ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

pandas深入浅出2.5 Pandas生成数据

2022-04-12 11:31:16  阅读:205  来源: 互联网

标签:1.0 df Series DataFrame pandas pd foo Pandas 2.5


今后我们处理的数据基本上是Pandas的DataFrame和Series,其中DataFrame是Series的容器,所以需要掌握数据生成方法。现在我们学习如何制造一些简单数据放入DataFrame和Series,后面会单独讲解如何从文件(如Excel)中读取和生成数据。

2.5.1 导入Pandas

  我们在使用Pandas时,另名为pd。numpy别名为np。

    import pandas as pd

    import numpy as np

2.5.2 创建数据

  使用pd.DataFrame()可以创建一个DataFrame,然后用df作为变量赋值给它。df是指DataFrame,也已约定俗成,建议尽量使用。

    df = pd.DataFrame({

        "国家": ["中国", "美国", "日本"],

        "地区": ["亚洲", "北美", "亚洲"],

        "人口": [13.97, 3.28, 1.26],

        "GDP":[14.34, 21.43, 5.08]

      })

  pd.DataFrame()为一个字典,每条数据为一个Series,键为表头(列索引),值为具体数据.执行变量df的结果如下:    

      国家 地区 人口   GDP
     0 中国 亚洲 13.97  14.34
     1 美国 北美 3.28    21.43
     2 日本 亚洲 1.26    5.08

  可以看到,我们成功生成了一个DataFrame:

    共有4列数据,国家、地区、人口和GDP;

    4列数据中国家和地区是文本类型,人口和GDP是数字;

    共3行数据,系统为我们自动添加了索引0、1、2

  我们知道,DataFrame可以容纳Series,所以在定义DataFrame时可以使用Series,也可以利用Numpy的方法:    

    import pandas as pd
    import numpy as np
    df2 = pd.DataFrame({
      "A":1.,
      "B":pd.Timestamp("20130102"),
      "C":pd.Series(1, index=list(range(4)),dtype="float32"),
      "D":np.array([3]*4, dtype="int32"),
      "E":pd.Categorical(["test", "train", "test", "train"]),
      "F":"foo"
    })

    print(df2)  # 结果如下

      A B C D E F
      0 1.0 2013-01-02 1.0 3 test foo
      1 1.0 2013-01-02 1.0 3 train foo
      2 1.0 2013-01-02 1.0 3 test foo
      3 1.0 2013-01-02 1.0 3 train foo

  上面D列使用np.array()方法构建了一个数量为4的整形数列。

  从DataFrame中选取一列就会返回一个Series,当然选择多列的话依然是DataFrame。

    df["人口"]  # 打印结果如下      

      0 13.97
      1 3.28
      2 1.26
      Name: 人口, dtype: float64

  如下单独创建一个Series:

    s = pd.Series([14.34, 21.43, 5.08], name="gdp")

    print(s)  # 结果如下      

      0 14.34
      1 21.43
      2 5.08
      Name: gdp, dtype: float64

  使用Python的type函数可以查看数据类型:

    type(s)  # pandas.core.series.Series

    type(df)  # pandas.core.frame.DataFrame

    

  

  

标签:1.0,df,Series,DataFrame,pandas,pd,foo,Pandas,2.5
来源: https://www.cnblogs.com/bbjs/p/16134291.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有