Menyesuaikan impor pandas Anda
Paket pandas sangat andal dalam menangani banyak masalah yang akan Anda temui saat mengimpor data sebagai data scientist, seperti komentar pada flat file, baris kosong, dan nilai hilang (NA atau NaN). Untuk menutup bab ini, Anda akan mengimpor salinan rusak dari himpunan data Titanic titanic_corrupt.txt, yang berisi komentar setelah karakter '#', dan dipisahkan dengan tab (tab-delimited).
Argumen kunci untuk pd.read_csv() meliputi:
sepmenetapkan pemisah yang diharapkan.- Anda dapat menggunakan
','untuk dipisahkan koma. - Anda dapat menggunakan
'\t'untuk dipisahkan tab.
- Anda dapat menggunakan
commentmenerima karakter yang menandai dimulainya komentar di file, menunjukkan bahwa teks apa pun yang dimulai dengan karakter ini harus diabaikan.na_valuesmenerima daftar string yang akan diidentifikasi sebagaiNA/NaN. Secara bawaan, beberapa nilai sudah dikenali sebagaiNA/NaN. Menyediakan argumen ini akan menambahkan nilai tambahan.
Latihan ini adalah bagian dari kursus
Pengantar Mengimpor Data di Python
Petunjuk latihan
- Lengkapi argumen
pd.read_csv()untuk mengimportitanic_corrupt.txtdengan benar menggunakan pandas:sepmenetapkan pemisah yang digunakan, dan bekerja sama seperti argumendelimiterpadanp.loadtxt(). Perhatikan bahwa file yang Anda impor dipisahkan dengan tab.commentmenerima karakter yang menandai dimulainya komentar di file, yang dalam kasus ini adalah'#'.na_valuesmenerima daftar string yang akan diperlakukan sebagaiNA/NaN, dalam hal ini string'Nothing'.
- Eksekusi sisa kode untuk mencetak head dari DataFrame yang dihasilkan dan membuat histogram
'Age'penumpang di kapal Titanic.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
# Assign filename: file
file = 'titanic_corrupt.txt'
# Import file: data
data = pd.read_csv(file, sep='____', comment='____', na_values=[____])
# Print the head of the DataFrame
print(data.head())
# Plot 'Age' variable in a histogram
pd.DataFrame.hist(data[['Age']])
plt.xlabel('Age (years)')
plt.ylabel('count')
plt.show()