Tidak yakin apakah ini bug atau fitur tetapi jika saya menggunakan:
f_data = np.genfromtxt('file.dat', dtype=None, unpack=True)
di mana file.dat
adalah file data standar dengan beberapa kolom (yaitu: http://pastebin.com/ihEW2dxS) hasilnya tidak dialihkan seperti yang diharapkan setelah menetapkan unpack=True
.
Misalnya, baris f_data = np.loadtxt('file.dat', unpack=True)
berfungsi seperti yang diharapkan.
Sepertinya bug, menandainya hingga diinformasikan sebaliknya.
Saya menyelidiki ini sedikit.
Hasil dari kode @ Gabriel-p adalah array flex bentuk (12,). Kode memanggil output.T
di atasnya, tetapi karena ini satu dimensi, ini adalah no-op.
Masalah terbesar yang ditentukan dtype=None
bahwa itu akan menjadi array fleksibel. Setiap kolom memiliki tipe kesimpulan terpisah. Jika kita benar-benar mengubah urutan hasil ini, setiap baris harus memiliki tipe yang terpisah. AFAIK, satu-satunya cara untuk melakukannya adalah memiliki daftar atau tuple array yang homogen.
Karena numCols << numRows dalam file teks, menggunakan list atau tuple seharusnya tidak menjadi masalah besar. Jika diimplementasikan seperti itu, itu akan membongkar untuk x, y, z = np.genfromtxt(...)
seperti yang ditentukan dalam dokumen, dan menyelesaikan kasus @ Gabriel-p.
Namun, genfromtxt
sudah melebihi 600 baris. Ada pemikiran?
Baru saja digigit oleh ini juga. Saya membuat kasus uji, lihat
https://github.com/hsgg/numpy.git
Saya juga mengalami ini. loadtxt
sedikit lebih pintar:
if unpack:
if len(dtype_types) > 1:
# For structured arrays, return an array for each field.
return [X[field] for field in dtype.names]
else:
return X.T
Mengapa genfromtxt
tidak melakukan ini?
Ada pembaruan tentang masalah ini? Sepertinya itu belum berubah sejak 2014.
Saran @ moi90 yang dibuat beberapa tahun lalu benar. genfromtxt
harus melakukan hal yang sama seperti loadtxt
.
Menurut saya ini akan mudah untuk diperbaiki, jadi saya telah menandai masalah tersebut sebagai "masalah pertama yang baik".
Komentar yang paling membantu
Saya juga mengalami ini.
loadtxt
sedikit lebih pintar:Mengapa
genfromtxt
tidak melakukan ini?