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

Barbara Streisand
Lepaskan: 2024-11-02 13:14:02
asal
347 orang telah melayarinya

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]
Salin selepas log masuk

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>
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!