Masalah:
Mengekstrak berbilang nilai daripada lajur teks dalam Pandas dan memberikannya dengan betul kepada lajur baharu membuktikan satu cabaran.
Penyelesaian:
Untuk menggunakan fungsi yang mengembalikan berbilang nilai kepada lajur Pandas dengan cekap, gunakan fungsi zip(). Penyelesaian ini meningkatkan prestasi dengan ketara berbanding dengan lelaran dengan df.iterrows().
Pelaksanaan:
<code class="python">def powers(x): return x, x**2, x**3, x**4, x**5, x**6 df = pd.DataFrame([[i] for i in range(10)], columns=['num']) df['p1'], df['p2'], df['p3'], df['p4'], df['p5'], df['p6'] = \ zip(*df['num'].map(powers))</code>
Contoh Output:
num | p1 | p2 | p3 | p4 | p5 | p6 |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 |
2 | 2 | 4 | 8 | 16 | 32 | 64 |
3 | 3 | 9 | 27 | 81 | 243 | 729 |
4 | 4 | 16 | 64 | 256 | 1024 | 4096 |
5 | 5 | 25 | 125 | 625 | 3125 | 15625 |
6 | 6 | 36 | 216 | 1296 | 7776 | 46656 |
7 | 7 | 49 | 343 | 2401 | 16807 | 117649 |
8 | 8 | 64 | 512 | 4096 | 32768 | 262144 |
9 | 9 | 81 | 729 | 6561 | 59049 | 531441 |
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Berbilang Lajur Baharu dengan Cekap daripada Lajur Teks Tunggal dalam Panda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!