一文了解pandas基础

目录

一:数据读取

二:数据结构

三:数据检索

四:数据修改

五: 排序


数据准备:

一文了解pandas基础_第1张图片

一:数据读取

pandas可以读取和导入各种数据格式的数据,如CSV,Excel,JSON,SQL,HTML等,不需要手动编写复杂的读取代码。


import pandas as pd

dir = 'path/'
df=pd.read_csv(dir+'test.csv')
df=pd.read_excel(dir+'test.xls')

df.head()

随机生成数据:


import numpy as np

data = np.random.rand(10,3)
df = pd.DataFrame(data, columns=["报名人数", "录取人数", "学费"])
df.head()

二:数据结构

1:Series带索引的一维数组

   Series的创建:

   从列表创建:

     value = [11, 23, 12]
     df = pd.Series(value)
     print(df.head())


  从字典创建:

    value = {"计算机": 5000, "历史": 7000, "艺术": 6000}
   df = pd.Series(value)
   print(df.head())


2: DataFrame

DataFrame是二维数组

从列表创建:

   value = [[11,34,56],[44,67,34]]
   df = pd.DataFrame(value,index=["历史","小艺术"],columns=["报名人数","录取人数","学费"])
   print(df.head())

从字典创建:

   value = [{"计算机": 5000, "历史": 7000, "艺术": 6000},{"计算机": 5000, "历史": 7000, "艺术": 6000}]
   df = pd.DataFrame(value)
   print(df.head())


3: 两种结构互转


Series转为DataFrame

value = {"计算机": 5000, "历史": 7000, "艺术": 6000}
df = pd.Series(value)
print(df.head())


DataFrame转为Series


value = [{"计算机": 5000, "历史": 7000, "艺术": 6000},{"计算机": 5000, "历史": 7000, "艺术": 6000}]
df = pd.DataFrame(value)
df["数学"]

三:数据检索

获取指定行

print(df.loc[[1,3],:])

按范围获取列

print(df.loc[:,"专业":"录取人数"])


获取录取人数大于5000的

print(df[df["录取人数"] > 5000])


多条件

print(df[(df["录取人数"] > 5000) & (df["报名人数"] > 6000)] )

四:数据修改

增加一行:


new_data = pd.DataFrame(
    {
        "专业":["经管"],
        "报名人数":[6000],
        "录取人数": [5700],
  "学费": [6000],
    }
)
df = pd.concat([df, new_data[:1]])
print(df)

增加一列:

df.insert(4,"报考率",[10,12,44,67,23,12])
print(df)


删除行:

df = df.drop([1, 2], axis=0)


删除列:

df = df.drop("学费", axis=1)


修改:


df.loc[1, "录取人数"] = 10000


按条件:

df.loc[df["录取人数"] > 5000, "学费"] = 20


五: 排序


按字段排序

df = df.sort_values(by="报名人数", ascending=False)


增加排名

df["录取排名"] = df.录取人数.rank(method='first', ascending=False)
df["录取排名"] = df["录取排名"].astype(int)
df.sort_values("录取排名")

print(df)


一文了解pandas基础_第2张图片

你可能感兴趣的:(活用pandas进行数据分析,数据分析,pandas,excel,json)