Saya ingin mencetak string gabungan berbasis panda-kolom. Untuk mencapai ini, saya menerapkan tiga loop untuk beralih setiap elemen: impor panda sebagai PD D = {'kode': ['A180', 'perusahaan'], '' '

0
AlvaroMartinez 5 April 2021, 22:36

2 jawaban

Jawaban Terbaik

Ini karena df['title'] berisi duplicates.

Gunakan Series.unique untuk mendapatkan hanya berbeda Nilai:

In [1446]: titles = df['title'].unique()

Kemudian jalankan for loop Anda:

In [1448]: for city in cities:
      ...:     for title in titles:
      ...:         for code in codes:
      ...:              print(code+'-'+city+'-'+title)
      ...: 
A180-Buffalo-vice president
A181-Buffalo-vice president
A180-Houston-vice president
A181-Houston-vice president
A180-Boston-vice president
A181-Boston-vice president
1
Mayank Porwal 5 April 2021, 19:42

Tapi mungkin Anda bahkan tidak perlu 3 loop:

from itertools import product

print('\n'.join([
    x[1][0]+'-'+x[0]+'-'+x[1][1]
    for x in product(cities, zip(d['code'], d['title']))]))

Keluaran:

A180-Buffalo-vice president
A181-Buffalo-vice president
A180-Houston-vice president
A181-Houston-vice president
A180-Boston-vice president
A181-Boston-vice president
2
perl 5 April 2021, 19:52