Pandas: Pembuatan kerangka data: Menentukan tipe d dengan kamus

Dibuat pada 18 Jan 2015  ·  3Komentar  ·  Sumber: pandas-dev/pandas

Mohon maaf jika fitur ini telah disarankan sebelumnya. Banyak fungsi IO (misalnya read_csv ) memungkinkan penggunaan untuk menentukan format setiap kolom dengan mudah menggunakan kamus. Sejauh yang saya mengerti, ini bukan
mungkin dengan konstruksi kerangka data biasa, misalnya:

df = pd.DataFrame(data=data, columns=columns, dtypes={'colname1': str, 'colname2': np.int})

Bahkan lebih baik lagi , akan lebih bagus jika seseorang dapat mengubah dtypes untuk kolom kerangka data menggunakan konstruksi serupa, misalnya:

df.change_types({'colname1': str, 'colname2': np.int})

Apakah hal seperti ini sudah direncanakan?

API Design Dtypes Duplicate Reshaping

Komentar yang paling membantu

Cara ini benar-benar berfungsi:
data_df = data_df.astype( dtype= {"wheel_number":"int64", "car_name":"object","minutes_spent":"float64"})

Semua 3 komentar

lihat #9133 dan #4464 itu tidak terlalu sulit
ingin mencoba?

Cara ini benar-benar berfungsi:
data_df = data_df.astype( dtype= {"wheel_number":"int64", "car_name":"object","minutes_spent":"float64"})

Satu perbedaan antara read_csv( csvFile, dtype={..} ) dan df.astpye(dtype={..} ) :
Dalam kasus read_csv, tidak apa-apa jika dict yang disediakan berisi lebih banyak kolom yang tidak ada di csv, mereka diabaikan dengan anggun. Dalam kasus astype() , itu kesalahan jika semua kolom yang ditentukan tidak ada dalam data.

Seharusnya lebih seperti read_csv. Karena kita dapat memiliki dict masuk yang mungkin memiliki beberapa kolom dan bukan yang lain. Sekarang ini adalah solusi yang harus saya lakukan:

df = pd.DataFrame( incoming_data )
gtfs_dtypes = { ... } # my master dtypes dict, having all possible column names
gtfs_dtypes_specific = { x:gtfs_dtypes.get(x,'str') for x in df.columns.tolist() }
df = df.astype(dtype=gtfs_dtypes_specific)
Apakah halaman ini membantu?
0 / 5 - 0 peringkat