php中文网

熊猫备忘单

php中文网

熊猫综合指南:终极备忘单

pandas 是一个基于 python 构建的开源数据操作和分析库。它提供了易于使用的数据结构,例如 dataframe 和 series,有助于各种数据分析任务的数据处理。它广泛用于处理结构化数据、数据清理和准备,这是数据科学工作流程中的关键步骤。无论是时间序列数据、异构数据,还是 csv、excel、sql 数据库或 json 格式的数据,pandas 都提供了强大的工具,使处理这些数据变得更加容易。


1.进口熊猫

在使用 pandas 的任何功能之前,您需要导入库。它通常被导入为 pd 以保持语法简洁。


import pandas as pd



2.熊猫数据结构

系列

series 是一个一维标记数组,能够保存任何数据类型(整数、字符串、浮点数等)。它可以从列表、numpy 数组或字典创建。


# create a pandas series from a list
s = pd.series([1, 2, 3, 4])


预期输出:


0    1
1    2
2    3
3    4
dtype: int64


数据框

dataframe 是一种二维标记数据结构,类似于数据库中的表格或 excel 电子表格。它由行和列组成。每列可以有不同的数据类型。


# create a dataframe from a dictionary
data = {'name': ['alice', 'bob', 'charlie'], 'age': [24, 27, 22], 'city': ['new york', 'london', 'berlin']}
df = pd.dataframe(data)


预期输出:


      name  age      city
0    alice   24  new york
1      bob   27    london
2  charlie   22    berlin



3.创建数据框和系列

来自字典


data = {'col1': [1, 2, 3], 'col2': [4, 5, 6]}
df = pd.dataframe(data)


来自列表的列表


data = [[1, 2, 3], [4, 5, 6]]
df = pd.dataframe(data, columns=["a", "b", "c"])


预期输出:


   a  b  c
0  1  2  3
1  4  5  6



4.检查数据帧

pandas 提供了多种方法来检查和获取有关数据的信息。

  • df.head(n) – 返回前 n 行。
  • df.tail(n) – 返回最后 n 行。
  • df.info() – 提供有关 dataframe 的摘要信息。
  • df.describe() – 生成 dataframe 的描述性统计数据。

# inspecting the dataframe
print(df.head())
print(df.tail())
print(df.info())
print(df.describe())


预期输出:


   a  b  c
0  1  2  3
1  4  5  6

   a  b  c
0  1  2  3
1  4  5  6

<class>
rangeindex: 2 entries, 0 to 1
data columns (total 3 columns):
 #   column  non-null count  dtype
---  ------  --------------  -----
 0   a       2 non-null      int64
 1   b       2 non-null      int64
 2   c       2 non-null      int64
dtypes: int64(3)
memory usage: 128.0 bytes

       a    b    c
count  2.0  2.0  2.0
mean   2.5  3.5  4.5
std    2.1  2.1  2.1
min    1.0  2.0  3.0
25%    1.5  2.5  3.5
50%    2.0  3.0  4.0
75%    2.5  3.5  4.5
max    4.0  5.0  6.0


</class>

5.索引、切片和子集数据

访问列

您可以使用点表示法或使用方括号索引来访问列。


# dot notation
print(df.a)

# bracket notation
print(df["b"])


通过索引访问行

您可以使用 .iloc[] 进行基于整数位置的索引,使用 .loc[] 进行基于标签的索引。


# using iloc (index-based)
print(df.iloc[0])  # access first row

# using loc (label-based)
print(df.loc[0])  # access first row using label


切片数据

您可以对 dataframe 进行切片来获取数据子集。您可以对行或列进行切片。


# select specific rows and columns
subset = df.loc[0:1, ["a", "c"]]


预期输出:


   a  c
0  1  3
1  4  6



6.修改数据框

添加列

您可以通过分配值直接向 dataframe 添加列。


df['d'] = [7, 8]  # adding a new column


修改列值

您可以通过访问列并分配新值来修改列的值。


df['a'] = df['a'] * 2  # modify the 'a' column


删除列或行

您可以使用 drop() 函数删除行或列。


df = df.drop(columns=['d'])  # dropping a column
df = df.drop(index=1)  # dropping a row by index



7.处理缺失数据

处理丢失的数据是一项关键任务。 pandas 提供了几个函数来处理丢失的数据。

  • df.isnull() – 检测缺失值(返回布尔值的 dataframe)。
  • df.notnull() – 检测非缺失值(返回布尔值的 dataframe)。
  • df.fillna(value) – 用指定值填充缺失值。
  • df.dropna() – 删除缺少值的行。

df = df.fillna(0)  # fill missing data with 0
df = df.dropna()  # drop rows with any missing values



8.数据聚合和分组

分组依据

groupby() 函数用于将数据分组,应用函数,然后组合结果。


# grouping by a column and calculating the sum
grouped = df.groupby('city').sum()


聚合函数

您可以应用各种聚合函数,如 sum()、mean()、min()、max() 等


# aggregating data using mean
df.groupby('city').mean()



9.排序和排名

对数据进行排序

您可以使用 sort_values() 函数按一列或多列对 dataframe 进行排序。


# sorting by a column in ascending order
df_sorted = df.sort_values(by='age')

# sorting by multiple columns
df_sorted = df.sort_values(by=['age', 'name'], ascending=[true, false])


排名

您可以使用rank()对dataframe中的值进行排名。


df['rank'] = df['age'].rank()



10。合并、连接和连接 dataframe

合并数据帧

您可以基于公共列或索引合并两个 dataframe。


df1 = pd.dataframe({'a': ['a0', 'a1', 'a2'], 'b': ['b0', 'b1', 'b2']})
df2 = pd.dataframe({'a': ['a0', 'a1', 'a2'], 'c': ['c0', 'c1', 'c2']})
merged_df = pd.merge(df1, df2, on='a')


连接数据帧

您可以使用 concat() 沿行或列连接 dataframe。


df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'])
df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B'])
concat_df = pd.concat([df1, df2], axis=0)



结论

pandas 是一种用于数据操作的多功能工具,从导入和清理数据到执行复杂的操作。此备忘单提供了一些最常见的 pandas 功能的快速概述,帮助您提高数据分析工作流程的效率。

以上就是熊猫备忘单的详细内容,更多请关注php中文网其它相关文章!