Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Indeks DataFrame kepada Lajur untuk Memplot?

Bagaimana untuk Menukar Indeks DataFrame kepada Lajur untuk Memplot?

Patricia Arquette
Patricia Arquetteasal
2024-11-07 14:22:021046semak imbas

How to Convert a DataFrame's Index to a Column for Plotting?

Menambah Salinan Lajur Indeks sebagai Lajur Baharu

Isu:

Apabila menukar indeks DataFrame kepada lajur , adalah perkara biasa untuk menghadapi ralat semasa merancang kerana indeks tidak boleh diplot secara langsung.

Penyelesaian:

Tetapkan semula indeks DataFrame untuk mencipta lajur baharu daripadanya:

df3 = df3.reset_index()

Pendekatan Alternatif:

  • Tetapan Semula Di Tempat: (Tidak disyorkan) Tetapkan semula indeks secara langsung, tetapi perlu diingat kesan sampingannya.
df3.reset_index(inplace=True)
  • Buat Lajur Baharu: Tetapkan indeks sebagai lajur baharu menggunakan:
df3['new'] = df3.index

Bacaan CSV yang Diperbaiki:

Untuk mengelak daripada menukar indeks kepada lajur secara manual, pertimbangkan untuk menggunakan pd.read_csv dengan pilihan index_col dan parse_dates:

df = pd.read_csv('university2.csv', sep=';', skiprows=1, index_col='YYYY-MO-DD HH-MI-SS_SSS', parse_dates='YYYY-MO-DD HH-MI-SS_SSS')

Ini menghapuskan keperluan untuk:

#Changing datetime
df['YYYY-MO-DD HH-MI-SS_SSS'] = pd.to_datetime(df['YYYY-MO-DD HH-MI-SS_SSS'], format='%Y-%m-%d %H:%M:%S:%f')
#Set index from column
df = df.set_index('YYYY-MO-DD HH-MI-SS_SSS')

Berurusan dengan MultiIndex:

Untuk DataFrames dengan MultiIndex atau indeks daripada operasi kumpulan, pertimbangkan perkara ini:

  • Lumpuhkan Pengindeksan Indeks: Gunakan as_index=False dalam panggilan berkumpulan.
  • Tetapkan Semula Indeks: Gunakan reset_index() selepas mengumpulkan untuk mencipta lajur baharu daripada indeks .

Atas ialah kandungan terperinci Bagaimana untuk Menukar Indeks DataFrame kepada Lajur untuk Memplot?. 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