>  기사  >  백엔드 개발  >  Pandas 데이터 정리에 대한 중요한 팁을 공개하세요!

Pandas 데이터 정리에 대한 중요한 팁을 공개하세요!

PHPz
PHPz원래의
2024-01-24 09:43:181155검색

Pandas 데이터 정리에 대한 중요한 팁을 공개하세요!

Pandas 데이터 정리 기술 공개!

소개:

데이터 분석 및 기계 학습에서 데이터 정리는 데이터를 필요한 형식과 구조로 구성하기 위해 데이터 세트를 전처리, 변환 및 필터링하는 매우 중요한 단계입니다. Pandas는 Python에서 가장 인기 있고 강력한 데이터 분석 라이브러리 중 하나이며 풍부하고 유연한 데이터 정리 도구와 작업 방법을 제공합니다. 이 기사에서는 팬더 데이터 정리의 몇 가지 기본 기술을 공개하고 독자가 이러한 기술을 더 잘 이해하고 적용할 수 있도록 구체적인 코드 예제를 제공합니다.

1. 팬더 라이브러리 및 데이터 세트 가져오기

시작하기 전에 먼저 팬더 라이브러리를 설치해야 합니다. 설치가 완료된 후 다음 코드를 사용하여 Pandas 라이브러리를 가져오고 정리해야 하는 데이터 세트를 로드할 수 있습니다.

import pandas as pd

# 导入数据集
data = pd.read_csv('data.csv')

2. 데이터 세트 보기

데이터를 정리하기 전에 먼저 데이터 세트의 구조와 내용을 이해해야 합니다. pandas는 head(), tail(), shapeinfo( )등 <code>head()tail()shapeinfo()等。

代码示例:

# 查看前五行数据
print(data.head())

# 查看后五行数据
print(data.tail())

# 查看数据集的维度
print(data.shape)

# 查看数据集的基本信息
print(data.info())

三、处理缺失值

缺失值是数据集中经常遇到的问题之一,而且在真实的数据集中很常见。pandas提供了处理缺失值的多种方法。常见的处理缺失值的方法有删除、填充和插值。

  1. 删除缺失值

删除缺失值是最简单的处理方法之一,但需要慎重使用。在pandas中,可以使用dropna()函数来删除包含缺失值的行或列。

代码示例:

# 删除包含缺失值的行
data.dropna(axis=0, inplace=True)

# 删除包含缺失值的列
data.dropna(axis=1, inplace=True)
  1. 填充缺失值

填充缺失值是另一种常用的处理方法,它可以用一个常数或其他数据集中的值来填充缺失值。在pandas中,可以使用fillna()函数来填充缺失值。

代码示例:

# 使用0填充缺失值
data.fillna(0, inplace=True)

# 使用平均值填充缺失值
data.fillna(data.mean(), inplace=True)
  1. 插值缺失值

插值缺失值是一种更高级的处理方法,它可以根据已知数据的特征来推测缺失值。在pandas中,可以使用interpolate()函数来进行插值处理。

代码示例:

# 线性插值处理缺失值
data.interpolate(method='linear', inplace=True)

# 拟合插值处理缺失值
data.interpolate(method='quadratic', inplace=True)

四、处理重复值

重复值是另一个常见的数据集问题,它可能会导致数据分析和建模的偏差。pandas提供了几个函数来处理重复值,包括duplicated()drop_duplicates()等。

  1. 查找重复值

可以使用duplicated()函数来查找数据集中的重复值。该函数返回一个布尔类型的Series对象,其中包含了每个元素是否重复的信息。

代码示例:

# 查找重复值
duplicated_data = data.duplicated()

# 打印重复值
print(duplicated_data)
  1. 删除重复值

可以使用drop_duplicates()函数来删除数据集中的重复值。该函数返回一个经过去重后的新数据集。

代码示例:

# 删除重复值
data.drop_duplicates(inplace=True)

五、处理异常值

异常值是数据集中的异常观测值,它可能会对数据分布和模型拟合产生不良影响。pandas提供了一些函数和方法来识别和处理异常值,包括箱线图、z-score和IQR等。

  1. 箱线图

箱线图是一种常用的异常值检测方法,它可以用来判断数据集中是否存在异常值。可以使用boxplot()函数来绘制箱线图,并通过观察箱线图中的离群点来识别异常值。

代码示例:

# 绘制箱线图
data.boxplot(column='value', figsize=(10, 6))

# 显示图像
plt.show()
  1. z-score

z-score是一种统计概念,它可以用来标准化数据并判断观测值是否偏离了平均值。在pandas中,可以使用zscore()函数来计算z-score,并通过设定阈值来判断是否存在异常值。

代码示例:

# 计算z-score
z_scores = (data - data.mean()) / data.std()

# 判断是否存在异常值
outliers = z_scores[(z_scores > 3) | (z_scores < -3)]

# 显示异常值
print(outliers)
  1. IQR

IQR(Inter-Quartile Range)是一种计算概念,它可以通过计算数据集的四分位差来确定异常值的范围。在pandas中,可以使用quantile()函数来计算四分位数,然后使用IQR公式来判断是否存在异常值。

代码示例:

# 计算四分位差
Q1 = data.quantile(0.25)
Q3 = data.quantile(0.75)
IQR = Q3 - Q1

# 判断是否存在异常值
outliers = data[((data < (Q1 - 1.5 * IQR)) | (data > (Q3 + 1.5 * IQR))).any(axis=1)]

# 显示异常值
print(outliers)

六、转换数据类型

数据类型是数据集中一个重要的属性,它涉及到数据的存储方式、计算方式和可视化方式等。在pandas中,可以使用astype()函数来转换数据类型。

代码示例:

# 将字符串类型转换为整数类型
data['column'] = data['column'].astype(int)

# 将浮点型转换为整数类型
data['column'] = data['column'].astype(int)

# 将字符串类型转换为日期类型
data['column'] = pd.to_datetime(data['column'])

七、其他常用操作

除了上述的数据清洗技巧外,pandas还提供了其他一些常用的数据清洗操作,包括重命名列、拆分列和合并列等。

  1. 重命名列

可以使用rename()函数来重命名数据集中的列。

代码示例:

# 重命名列
data.rename(columns={'old_name': 'new_name'}, inplace=True)
  1. 拆分列

可以使用str.split()函数来将含有多个值的列拆分成多个列。

代码示例:

# 拆分列
new_columns = data['column'].str.split(',', expand=True)

# 重新命名新列
new_columns.columns = ['column1', 'column2', 'column3']

# 合并新列到数据集
data = pd.concat([data, new_columns], axis=1)
  1. 合并列

可以使用pd.merge()

코드 예:

# 新数据集1
data1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})

# 新数据集2
data2 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value2': [4, 5, 6]})

# 合并数据集
merged_data = pd.merge(data1, data2, on='key')

# 打印合并后的数据集
print(merged_data)

3. 결측값 처리

결측값은 데이터 세트에서 자주 발생하는 문제 중 하나이며 실제 데이터 세트에서는 매우 일반적입니다. Pandas는 누락된 값을 처리하는 여러 가지 방법을 제공합니다. 결측값을 처리하는 일반적인 방법으로는 삭제, 채우기, 보간 등이 있습니다. 🎜
  1. 결측값 삭제
🎜결측값 삭제는 가장 간단한 처리 방법 중 하나이지만 주의해서 사용해야 합니다. Pandas에서는 dropna() 함수를 사용하여 누락된 값이 포함된 행이나 열을 삭제할 수 있습니다. 🎜🎜코드 예: 🎜rrreee
  1. 결측값 채우기
🎜결측값 채우기는 또 다른 일반적인 처리 방법으로, 상수나 기타 데이터를 사용할 수 있습니다. 누락된 값을 채울 값입니다. Pandas에서는 fillna() 함수를 사용하여 누락된 값을 채울 수 있습니다. 🎜🎜코드 예: 🎜rrreee
  1. 결측값 보간
🎜결측값 보간은 데이터의 특성을 기반으로 할 수 있는 보다 발전된 처리 방법입니다. 누락된 값을 대치하기 위해 알려진 데이터. Pandas에서는 interpolate() 함수를 사용하여 보간 처리를 수행할 수 있습니다. 🎜🎜코드 예: 🎜rrreee🎜4. 중복 값 처리🎜🎜중복 값은 또 다른 일반적인 데이터 세트 문제로, 데이터 분석 및 모델링에 편향이 발생할 수 있습니다. pandas는 duplicated()drop_duplicates() 등을 포함하여 중복 값을 처리하는 여러 함수를 제공합니다. 🎜
  1. 중복 값 찾기
🎜 duplicated() 함수를 사용하여 데이터 세트에서 중복 값을 찾을 수 있습니다. 이 함수는 각 요소가 반복되는지 여부에 대한 정보가 포함된 Boolean Series 객체를 반환합니다. 🎜🎜코드 예: 🎜rrreee
  1. 중복 값 삭제
🎜drop_duplicates() 함수를 사용하여 중복 값을 삭제할 수 있습니다. 데이터 세트에서 . 이 함수는 중복이 제거된 새로운 데이터 세트를 반환합니다. 🎜🎜코드 예: 🎜rrreee🎜 5. 이상값 처리🎜🎜이상값은 데이터 세트의 비정상적인 관측값으로, 데이터 분포 및 모델 피팅에 부정적인 영향을 미칠 수 있습니다. Pandas는 상자 그림, z-점수, IQR 등을 포함하여 이상값을 식별하고 처리하는 몇 가지 기능과 방법을 제공합니다. 🎜
  1. 박스 플롯
🎜박스 플롯은 일반적으로 사용되는 이상값 감지 방법으로, 데이터 세트에 이상값이 있는지 확인하는 데 사용할 수 있습니다. boxplot() 함수를 사용하면 상자 그림을 그리고 상자 그림에서 이상값을 관찰하여 이상값을 식별할 수 있습니다. 🎜🎜코드 예: 🎜rrreee
  1. z-score
🎜z-score는 데이터를 표준화하고 관찰 결과가 다음과 같은지 여부를 결정하는 데 사용할 수 있는 통계 개념입니다. 평균과의 편차. Pandas에서는 zscore() 함수를 사용하여 z-score를 계산하고 임계값을 설정하여 이상치가 있는지 확인할 수 있습니다. 🎜🎜코드 예: 🎜rrreee
  1. IQR
🎜IQR(Inter-Quartile Range)은 데이터의 1/4을 계산하여 계산할 수 있는 계산 개념입니다. 이상치의 범위를 결정하기 위해 차이를 설정합니다. Pandas에서는 Quantile() 함수를 사용하여 사분위수를 계산한 다음 IQR 공식을 사용하여 이상값이 있는지 확인할 수 있습니다. 🎜🎜코드 예: 🎜rrreee🎜 6. 데이터 유형 변환🎜🎜데이터 유형은 데이터의 저장 방법, 계산 방법 및 시각화 방법을 포함하는 데이터 세트의 중요한 속성입니다. Pandas에서는 astype() 함수를 사용하여 데이터 유형을 변환할 수 있습니다. 🎜🎜코드 예: 🎜rrreee🎜7. 기타 일반적인 작업🎜🎜위의 데이터 정리 기술 외에도 Pandas는 열 이름 바꾸기, 열 분할 및 열 병합을 포함하여 일반적으로 사용되는 몇 가지 다른 데이터 정리 작업도 제공합니다. 🎜
  1. 열 이름 바꾸기
🎜 rename() 함수를 사용하여 데이터 세트의 열 이름을 바꿀 수 있습니다. 🎜🎜코드 예: 🎜rrreee
  1. 열 분할
🎜str.split() 함수를 사용하여 다음을 포함하는 열을 분할할 수 있습니다. 다중 값 열이 여러 열로 분할됩니다. 🎜🎜코드 예: 🎜rrreee
  1. 열 병합
🎜 pd.merge() 함수를 사용하여 여러 열을 병합할 수 있습니다. 데이터 세트 열에 있습니다. 🎜🎜코드 예: 🎜rrreee🎜요약: 🎜

이 문서에서는 일반적으로 사용되는 Pandas 데이터 정리 기술을 소개하고 구체적인 코드 예제를 제공합니다. 이러한 기술에는 누락된 값 처리, 중복 값 처리, 이상값 처리, 데이터 유형 변환 및 기타 일반적인 작업이 포함됩니다. 이러한 기술을 배우고 적용함으로써 독자는 데이터를 더 잘 처리하고 준비할 수 있으며 후속 데이터 분석 및 모델링을 위한 견고한 기반을 마련할 수 있습니다. 물론, 이 글에서 소개한 기술 외에도 pandas에는 다른 많은 기능과 방법이 있으며, 독자들은 이를 자신의 필요와 실제 상황에 따라 더 배우고 적용할 수 있습니다.

위 내용은 Pandas 데이터 정리에 대한 중요한 팁을 공개하세요!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.