Sihir panda sedang bekerja. Semua logika keluar.
Pesan kesalahan "ValueError: If using all scalar values, you must pass an index"
Mengatakan Anda harus melewati indeks.
Ini tidak berarti lulus indeks membuat panda melakukan apa yang Anda inginkan
Saat Anda melewati indeks, panda akan memperlakukan kunci kamus Anda sebagai nama kolom dan nilai-nilai sebagai apa yang seharusnya berisi kolom untuk masing-masing nilai dalam indeks.
a = 2
b = 3
df2 = pd.DataFrame({'A':a,'B':b}, index=[1])
A B
1 2 3
Melewati indeks yang lebih besar:
df2 = pd.DataFrame({'A':a,'B':b}, index=[1, 2, 3, 4])
A B
1 2 3
2 2 3
3 2 3
4 2 3
Indeks biasanya secara otomatis dihasilkan oleh kerangka data ketika tidak ada yang diberikan. Namun, panda tidak tahu berapa banyak baris 2
dan yang 3
Anda inginkan. Namun Anda bisa lebih eksplisit tentang hal itu
df2 = pd.DataFrame({'A':[a]*4,'B':[b]*4})
df2
A B
0 2 3
1 2 3
2 2 3
3 2 3
Indeks bawaannya adalah 0.
Saya akan merekomendasikan selalu melewati kamus daftar ke konstruktor dataframe saat membuat dataframe. Lebih mudah dibaca untuk pengembang lain. Panda memiliki banyak peringatan, jangan buat pengembang lain harus ahli dalam semuanya untuk membaca kode Anda.