Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Teknik Perbalahan Data dalam Python

Teknik Perbalahan Data dalam Python

PHPz
PHPzasal
2023-06-10 18:28:381182semak imbas

Python ialah bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam bidang sains data Ia digunakan secara meluas dalam pengumpulan data, pembersihan, analisis dan visualisasi. Perbalahan data ialah kemahiran teras dalam pemprosesan data Artikel ini akan memperkenalkan beberapa teknik perbalahan data biasa dalam Python untuk membantu pembaca memproses dan menganalisis data dengan lebih baik.

  1. Penukaran jenis data

Dalam proses penyelarasan data, selalunya perlu untuk menukar jenis data yang berbeza termasuk rentetan, integer dan nombor titik terapung . dan nilai Boolean dll. Python menyediakan fungsi penukaran jenis yang berkuasa, seperti int(), float(), str(), bool(), dsb., yang boleh menukar satu jenis data kepada jenis data lain, contohnya:

# 将字符串转换成整数
age_str = '18'
age_int = int(age_str)

# 将整数转换成字符串
age_int = 18
age_str = str(age_int)

# 将浮点数转换成整数
height_float = 1.75
height_int = int(height_float)

# 将整数转换成布尔值
num = 0
is_zero = bool(num)     # False
  1. Deduplikasi Data

Apabila memproses sejumlah besar data, data pendua mungkin berlaku dan teknik penyahduplikasian data perlu digunakan. Menggunakan fungsi set() dalam Python boleh mengalih keluar elemen pendua dengan cepat daripada senarai, contohnya:

# 去除列表中的重复元素
lst = [1, 2, 3, 2, 4, 1]
lst_unique = list(set(lst))
print(lst_unique)       # [1, 2, 3, 4]
  1. Pengisian data

Dalam proses penyusunan data, kadangkala ia adalah perlu untuk Nilai yang hilang diisi untuk pemprosesan seterusnya yang lebih baik. Gunakan fungsi fillna() dalam Python untuk mengisi data dengan mudah, contohnya:

# 对缺失值进行填充
import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
                   'age': [18, None, 21],
                   'gender': ['F', 'M', None]})

df_fill = df.fillna(value={'age': df['age'].mean(),
                           'gender': 'U'})
print(df_fill)

Hasil output adalah seperti berikut:

       name   age gender
0     Alice  18.0      F
1       Bob  19.5      M
2  Charlie  21.0      U
  1. Pembentuk semula data

dalam Semasa proses penyusunan data, data mungkin perlu dibentuk semula untuk pemprosesan seterusnya yang lebih baik. Menggunakan fungsi pivot() dalam Python boleh memudahkan pembentukan semula data, sebagai contoh:

# 数据重塑
import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
                   'gender': ['F', 'M', 'M'],
                   'subject': ['Math', 'Math', 'English'],
                   'score': [90, 87, 88]})

df_res = df.pivot(index='name', columns='subject', values='score')
print(df_res)

Hasil output adalah seperti berikut:

subject  English  Math
name                  
Alice        NaN  90.0
Bob          NaN  87.0
Charlie     88.0   NaN
  1. Penggabungan data

dalam Dalam operasi sebenar, data biasanya disimpan dalam jadual yang berbeza dan perlu digabungkan. Menggunakan fungsi merge() dalam Python boleh memudahkan penggabungan data, contohnya:

# 数据合并
import pandas as pd

df1 = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'],
                    'age': [18, 19, 21],
                    'gender': ['F', 'M', 'M']})
df2 = pd.DataFrame({'name': ['Alice', 'Bob'],
                    'score': [90, 87]})

df_merge = pd.merge(df1, df2, on='name')
print(df_merge)

Hasil output adalah seperti berikut:

       name  age gender  score
0     Alice   18      F     90
1       Bob   19      M     87

Ringkasnya, kemahiran membentuk data dalam Python termasuk penukaran jenis data , Penyahduplikasian data, pengisian data, pembentukan semula data dan penggabungan data, dsb. Teknik ini boleh membantu pembaca memproses dan menganalisis data dengan lebih baik serta meningkatkan kecekapan dan ketepatan pemprosesan data.

Atas ialah kandungan terperinci Teknik Perbalahan Data dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn