一、初识DataFrame

  dataFrame 是一个带有索引的二维数据结构,每列可以有自己的名字,并且可以有不同的数据类型。你可以把它想象成一个 excel 表格或者数据库中的一张表DataFrame是最常用的 Pandas 对象。

二、数据框的创建

Pandas系列(二)- DataFrame数据框

  1.字典套列表方式创建

index = pd.Index(data=["Tom", "Bob", "Mary", "James"], name="name")
data = {
    "age": [18, 30, 25, 40],
    "city": ["BeiJing", "ShangHai", "GuangZhou", "ShenZhen"]
}
user_info = pd.DataFrame(data=data, index=index)
user_info
Out[35]: 
       age       city
name                 
Tom     18    BeiJing
Bob     30   ShangHai
Mary    25  GuangZhou
James   40   ShenZhen

  2. 列表套字典方式创建

data = [{'name':'xiaohong','age':23,'tel':10086},{'name':'xiaogang','age':12},{'name':'xiaozhang','tel':10010}]
user_info = pd.DataFrame(data=data)
user_info
Out[36]: 
    age       name      tel
0  23.0   xiaohong  10086.0
1  12.0   xiaogang      NaN
2   NaN  xiaozhang  10010.0

  3.数组方式创建

data = [[18, "BeiJing"], 
        [30, "ShangHai"], 
        [25, "GuangZhou"], 
        [40, "ShenZhen"]]
columns = ["age", "city"]
user_info = pd.DataFrame(data=data, index=index, columns=columns)
user_info
Out[37]: 
       age       city
name                 
Tom     18    BeiJing
Bob     30   ShangHai
Mary    25  GuangZhou
James   40   ShenZhen

  4.from_dict方式

result = {'name': 'zhangyafei','age': 24, 'city':'shanxi','weather':'sunny','date':'2019-3-11'}
data = pd.DataFrame.from_dict(result,orient='index').T
data
Out[44]: 
         name age    city weather       date
0  zhangyafei  24  shanxi   sunny  2019-3-11 

二、数据框的增删改查

  数据准备

index = pd.Index(data=["Tom", "Bob", "Mary", "James"], name="name")
data = {
    "age": [18, 30, 25, 40],
    "city": ["BeiJing", "ShangHai", "GuangZhou", "ShenZhen"]
}
df = pd.DataFrame(data=data, index=index)
df
Out[45]: 
       age       city
name                 
Tom     18    BeiJing
Bob     30   ShangHai
Mary    25  GuangZhou
James   40   ShenZhen
  1. 增加

#增加行 注意:这种方法,效率非常低,不应该用于遍历中
df.loc[len(df)]=[23,'shanxi']
#增加列
df['sex'] = [1,1,1,0]
df.assign(age_add_one = df.age + 1)
df.loc[len(df)] = [23, 'shanxi']
df
Out[47]: 
       age       city
name                 
Tom     18    BeiJing
Bob     30   ShangHai
Mary    25  GuangZhou
James   40   ShenZhen
4       23     shanxi
df['sex'] = [1,1,1,0,1]
df
Out[49]: 
       age       city  sex
name                      
Tom     18    BeiJing    1
Bob     30   ShangHai    1
Mary    25  GuangZhou    1
James   40   ShenZhen    0
4       23     shanxi    1
df.assign(age_add_one = user_info["age"] + 1)
Out[79]: 
       age       city  age_add_one
name                              
Tom     18    BeiJing           19
Bob     30   ShangHai           31
Mary    25  GuangZhou           26
James   40   ShenZhen           41
增加行列  

相关文章:

  • 2022-01-06
  • 2021-09-01
  • 2021-06-24
  • 2021-08-13
  • 2018-11-19
  • 2021-07-21
  • 2022-12-23
猜你喜欢
  • 2021-04-01
  • 2022-01-14
  • 2021-08-13
  • 2022-12-23
  • 2021-11-02
  • 2021-12-26
相关资源
相似解决方案