Pandas 提供了弱小的数据操作和剖析性能,是数据迷信的日常根本工具。在本文中,咱们将介绍最罕用的 15 个 Pandas 代码片段。这些片段将帮忙简化数据分析工作,从数据集中提取有价值的见解。
1、过滤数据
Pandas 提供了多种办法来过滤数据。
import pandas as pd
# Create a DataFrame
data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40]}
df = pd.DataFrame(data)
# Filter rows where Age is greater than 30
filtered_df = df[df['Age'] > 30]
print(filtered_df)
2、分组和聚合数据
# Grouping by a column and calculating the mean
grouped = df.groupby('Age').mean()
print(grouped)
3、数据缺失值
# Check for missing values
missing_values = df.isnull().sum()
# Fill missing values with a specific value
df['Age'].fillna(0, inplace=True)
4、将函数利用于列
apply()
函数容许在 DataFrame 的行或列上利用自定义函数,以实现更简单的数据处理和转换操作。
df['Age'] = df['Age'].apply(lambda x: x * 2)
5、连贯 DataFrames
这里的连贯次要是行的连贯,也就是说将两个雷同列构造的 DataFrame 进行连贯
# Concatenate two DataFrames
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2], ignore_index=True)
print(result)
6、合并 DataFrames
这里的合并指的是列的合并,也就是说依据一个或若干个雷同的列,进行合并
# Merge two DataFrames
left = pd.DataFrame({'key': ['A', 'B', 'C'], 'value': [1, 2, 3]})
right = pd.DataFrame({'key': ['B', 'C', 'D'], 'value': [4, 5, 6]})
merged = pd.merge(left, right, on='key', how='inner')
print(merged)
7、数据透视表
pivot_table
是用于数据透视的重要函数之一。它依据一个或多个列的值对数据进行重新排列和汇总,以便更好地了解数据的构造和关系。
# Creating a pivot table
pivot_table = df.pivot_table(index='Name', columns='Age', values='Value')
print(pivot_table)
8、解决工夫 / 日期类型数据
# Converting a column to DateTime
df['Date'] = pd.to_datetime(df['Date'])
9、数据重塑
pandas.melt()
是用于将宽格局(wide format)的数据表格转换为长格局(long format)。这个函数通常用于数据重塑(data reshaping)操作,以便更容易进行数据分析和可视化。
pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None)
参数阐明:
frame
:要进行重塑操作的数据表格(DataFrame)。id_vars
:须要保留的列,它们将成为长格局中的标识变量(identifier variable),不被 ” 消融 ”。value_vars
:须要 ” 消融 ” 的列,它们将被整合成一列,并用新的列名示意。var_name
:用于存储 ” 消融 ” 后的列名的新列的名称。value_name
:用于存储 ” 消融 ” 后的值的新列的名称。col_level
:如果输出数据是多级索引(MultiIndex),则能够指定在哪个级别上利用 ” 消融 ” 操作。
上面是一个示例,演示如何应用
melt()
函数将宽格局数据转换为长格局,假如有以下的宽格局数据表格
df
:
ID Name Math English History
0 1 Amy 90 85 88
1 2 Bob 78 92 76
2 3 John 88 79 90
咱们要将
Math
、
English
和
History
列 ” 消融 ” 为一个长格局数据表格,能够这样做:
melted_df=pd.melt(df, id_vars=['ID', 'Name'], value_vars=['Math', 'English', 'History'], var_name='Subject', value_name='Score')
转换后的长格局数据表格
melted_df
如下所示:
ID Name Subject Score
0 1 Amy Math 90
1 2 Bob Math 78
2 3 John Math 88
3 1 Amy English 85
4 2 Bob English 92
5 3 John English 79
6 1 Amy History 88
7 2 Bob History 76
8 3 John History 90
通过这种形式,你能够将宽格局数据表格中的多列数据整合到一个列中,以更容易进行剖析、可视化或其余操作。
melt()
函数在数据荡涤和转换阶段十分有用。
melt()
或者能够了解为下面
pivot_table
或者
unstack
的反操作。
10、分类数据
astype('category')
是用于将一列数据类型转换为分类(Category)类型的办法。将数据列转换为分类类型有助于节俭内存和进步性能,特地是当数据列中蕴含无限的不同取值时。
# Encoding categorical variables
df['Category'] = df['Category'].astype('category')
df['Category'] = df['Category'].cat.codes
11、数据抽样
# Randomly sample rows from a DataFrame
sampled_df = df.sample(n=2)
12、计算累加和
# Calculating cumulative sum
df['Cumulative_Sum'] = df['Values'].cumsum()
13、删除反复的数据
# Removing duplicate rows
df.drop_duplicates(subset=['Column1', 'Column2'], keep='first', inplace=True)
14、创立虚构变量
pandas.get_dummies()
是 Pandas 中用于执行独热编码(One-Hot Encoding)的函数。
# Creating dummy variables for categorical data
dummy_df = pd.get_dummies(df, columns=['Category'])
15、数据导出
有很多个 to 办法,能够到导出不同的格局
# Exporting DataFrame to CSV
df.to_csv('output.csv', index=False)
总结
以上这 15 个 Pandas 代码片段是咱们日常最罕用的数据操作和剖析操作。纯熟的把握它,并将它们合并到工作流程中,能够进步解决和摸索数据集的效率和成果。
https://avoid.overfit.cn/post/d5097a67e5c34a0ab42395d8c22091e1
作者:pythonfundamentals