一文了解pandas基础

发布时间:2024年01月12日

目录

一:数据读取

二:数据结构

三:数据检索

四:数据修改

五: 排序


数据准备:

一:数据读取

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)


文章来源:https://blog.csdn.net/qinshi501/article/details/135556378
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。