Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membuat Pandas DataFrame daripada Fail Teks dengan Corak Tertentu?

Bagaimana untuk Membuat Pandas DataFrame daripada Fail Teks dengan Corak Tertentu?

Barbara Streisand
Barbara Streisandasal
2024-11-02 13:14:02348semak imbas

How to Create a Pandas DataFrame from a Text File with Specific Patterns?

Mencipta Pandas DataFrame daripada Fail Teks dengan Corak Tertentu

Anda perlu membina Pandas DataFrame daripada fail teks dengan struktur berikut :

Alabama[edit]
Auburn (Auburn University)[1]
Florence (University of North Alabama)
Jacksonville (Jacksonville State University)[2]
Livingston (University of West Alabama)[2]
Montevallo (University of Montevallo)[2]
Troy (Troy University)[2]
Tuscaloosa (University of Alabama, Stillman College, Shelton State)[3][4]
Tuskegee (Tuskegee University)[5]

Baris dengan "[edit]" menunjukkan keadaan, manakala baris dengan "[nombor]" menunjukkan kawasan. Tugasnya ialah untuk membahagikan fail berdasarkan corak ini dan mengulangi nama negeri untuk setiap nama rantau.

Penyelesaian:

  1. Baca fail teks menggunakan Pandas ' fungsi read_csv, menyatakan nama lajur sebagai "Nama Wilayah" kerana tiada pemisah.
  2. Buat lajur baharu bernama "Nyatakan" menggunakan Pengekstrakan Rentetan untuk menangkap nama keadaan daripada baris dengan "[edit]" dan mengisi nilai ke hadapan.
  3. Ganti semua aksara daripada kurungan pembukaan "(" ke penghujung rentetan dalam Lajur "Nama Wilayah".
  4. Tapis keluar baris yang mengandungi "[edit]" menggunakan pengindeksan boolean berdasarkan topeng yang dibuat menggunakan String Mengandungi.

Proses ini akan menghasilkan Pandas DataFrame yang diingini dengan lajur "Negeri" dan "Nama Wilayah".

Contoh:

<code class="python">import pandas as pd

df = pd.read_csv("filename.txt", sep=";", names=['Region Name'])
df.insert(0, 'State', df['Region Name'].str.extract('(.*)\[edit\]', expand=False).ffill())
df['Region Name'] = df['Region Name'].str.replace(r' \(.+$', '')
df = df[~df['Region Name'].str.contains('\[edit\]')].reset_index(drop=True)

print(df)</code>

Output:

      State   Region Name
0   Alabama        Auburn
1   Alabama      Florence
2   Alabama  Jacksonville
3   Alabama    Livingston
4   Alabama    Montevallo
5   Alabama          Troy
6   Alabama    Tuscaloosa
7   Alabama      Tuskegee
8    Alaska     Fairbanks
9   Arizona     Flagstaff
10  Arizona         Tempe
11  Arizona        Tucson

Atas ialah kandungan terperinci Bagaimana untuk Membuat Pandas DataFrame daripada Fail Teks dengan Corak Tertentu?. 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