samwellwang

samwellwang

coder
twitter

python pandas

Python Pandas is a powerful tool for data processing and analysis. It provides a flexible, efficient, and scalable data structure that helps us easily handle and analyze various types of data. In this article, we will introduce the basic concepts and usage of Pandas, including common methods and parameters, tips and tricks, and potential pitfalls.

Basic Concepts of Pandas#

The core data structures of Pandas are Series and DataFrame. A Series is a one-dimensional array that can store any type of data, including integers, floating-point numbers, strings, etc. A DataFrame is a two-dimensional table that can be seen as composed of multiple Series. Each Series represents a column of data, and each row represents an observation.

Pandas also provides some other data structures, such as Panel and Panel4D, but in practical applications, we mainly use Series and DataFrame.

Usage of Pandas#

Data Reading#

First, we need to read data from files or databases. Pandas supports multiple data formats, including CSV, Excel, SQL, etc. The following is an example code for reading a CSV file:

import pandas as pd

df = pd.read_csv('data.csv')

Data Cleaning#

After reading the data, we need to clean it. Data cleaning includes removing duplicate values, filling in missing values, etc. The following is an example code for removing duplicate values and filling in missing values:

# Remove duplicate values
df.drop_duplicates(inplace=True)

# Fill in missing values
df.fillna(0, inplace=True)

Data Filtering#

After cleaning the data, we need to filter it. Pandas provides various filtering methods, including filtering by rows, columns, and conditions. The following is an example code for filtering by condition:

# Filter by condition
df = df[df['age'] > 18]

Data Grouping#

After filtering the data, we may need to group it. Pandas provides the groupby method to achieve data grouping. The following is an example code for grouping by gender:

# Group by gender
grouped = df.groupby('gender')

Data Statistics#

After grouping, we can perform statistical operations on the data. Pandas provides various statistical methods, including counting, summing, averaging, etc. The following is an example code for calculating the average age in each group:

# Calculate the average age in each group
grouped['age'].mean()

Common Methods and Parameters of Pandas#

Common Methods of DataFrame#

  • head(n): Returns the first n rows of data.
  • tail(n): Returns the last n rows of data.
  • info(): Returns basic information about the DataFrame.
  • describe(): Returns statistical information about the DataFrame.
  • dropna(): Removes missing values.
  • fillna(value): Fills in missing values.
  • drop_duplicates(): Removes duplicate values.
  • groupby(): Groups the DataFrame by a specific column.

Common Parameters of DataFrame#

  • index_col: Specifies a column as the index column.
  • header: Specifies a row as the column names.
  • sep: Specifies the delimiter.
  • na_values: Specifies missing values.
  • dtype: Specifies the data type of each column.

Common Methods of Series#

  • value_counts(): Returns the frequency of each value.
  • unique(): Returns unique values.
  • nunique(): Returns the number of unique values.
  • isnull(): Checks if a value is missing.
  • notnull(): Checks if a value is not missing.

Common Parameters of Series#

  • name: Specifies the name of the Series.

Tips and Tricks of Pandas#

Automatic Format Recognition#

When reading CSV files, there may be issues with automatic format recognition. For example, some CSV files may have numbers with comma separators (e.g., 1,000), and by default, Pandas treats the comma as a thousand separator, resulting in incorrect reading of the numbers.

To solve this problem, you can specify the decimal parameter as a comma when reading the CSV file, as shown below:

df = pd.read_csv('data.csv', decimal=',')

Alternatively, you can disable automatic format recognition by directly specifying the dtype parameter as str, as shown below:

df = pd.read_csv('data.csv', dtype=str)

Quick Data Preview#

When working with data, we often need to view the first few rows or last few rows. You can use the head and tail methods to achieve this. Additionally, Pandas provides a method called sample for quickly previewing data. This method randomly selects a specified number of rows and returns a new DataFrame.

The following is an example code for using the sample method to randomly select 5 rows of data:

df.sample(5)

Quick Data Statistics#

When performing data statistics, we often need to calculate the sum, average, etc., of a specific column or several columns. You can use methods like sum and mean to achieve this. Additionally, Pandas provides a method called agg for quickly calculating data statistics. This method can perform multiple statistical operations on specified columns and return a new DataFrame.

The following is an example code for using the agg method to perform statistical operations on the age column:

df.agg({'age': ['sum', 'mean', 'max', 'min']})

Potential Pitfalls of Pandas#

Encoding Issues#

When reading CSV files, there may be encoding issues. For example, the CSV file may be encoded in UTF-8, while Pandas, by default, uses ASCII encoding, resulting in garbled Chinese characters when reading the file.

To solve this problem, you can specify the encoding parameter as UTF-8 when reading the CSV file, as shown below:

df = pd.read_csv('data.csv', encoding='utf-8')

Index Issues#

When working with DataFrames, there may be index issues. For example, certain operations on a DataFrame may change the original index column, causing errors in subsequent operations.

To solve this problem, you can use the copy method to create a new DataFrame and perform operations on the new DataFrame, as shown below:

new_df = df.copy()
new_df.drop_duplicates(inplace=True)

Conclusion#

This article introduced the basic concepts and usage of Python Pandas, including common methods and parameters, tips and tricks, and potential pitfalls. By learning this article, I believe you have mastered the basic usage of Pandas and can flexibly apply it to practical projects.

Pandas Google Course:#

Pandas Google Colab Online Course

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.