Bagaimana cara menyalin dua kolom kerangka data dengan python?

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

07-Jul-2022, 12. 57 sore

Saya ingin menyalin kolom dari satu kerangka data dan menambahkannya ke kerangka data kedua sebagai kolom terakhir. Saya tahu itu bisa dilakukan, tetapi saya mencari a
cara sederhana untuk melakukannya. Apakah ada satu, dua atau tiga baris kode cara untuk melakukannya?

Setiap bantuan dihargai

Terima kasih sebelumnya

Dengan hormat,

LZ

Membalas

Menemukan

Membalas

deanhystad
Beratnya Sama dengan Bebek

Postingan. 4.495

Utas. 16

Bergabung. Feb 2020

Reputasi. 263

07-Jul-2022, 01. 48 PM (Pos ini terakhir diubah. Jul-07-2022, 01. 48 sore oleh deanhystad. )

dataframe_a['Kolom Baru'] = dataframe_b['Kolom yang Ada']

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

Jul-07-2022, 02. 21 malam

Terima kasih, saya akan mencobanya

Dengan hormat,

LZ

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

07-Jul-2022, 04. 23 PM (Pos ini terakhir diubah. Jul-07-2022, 04. 30 sore oleh Led_Zeppelin. )

Saya mencoba perintah sederhana yang Anda berikan kepada saya

df['machine_status'] = df1['machine_status']
Sekarang df adalah kerangka data baru dan df1 adalah kerangka data lama yang disalin. Saya mencoba memindahkan kolom bernama 'status_mesin', dari df1 ke df dan meletakkannya di kolom terakhir. Kolom tersebut diberi nama 'status_mesin' dalam kedua kasus

Saya mendapat kesalahan berikut

Error:

KeyError Traceback (most recent call last) File ~\miniconda3\envs\pump-failure-pred\lib\site-packages\pandas\core\indexes\base.py:3621, in Index.get_loc(self, key, method, tolerance) 3620 try: -> 3621 return self._engine.get_loc(casted_key) 3622 except KeyError as err: File ~\miniconda3\envs\pump-failure-pred\lib\site-packages\pandas\_libs\index.pyx:136, in pandas._libs.index.IndexEngine.get_loc() File ~\miniconda3\envs\pump-failure-pred\lib\site-packages\pandas\_libs\index.pyx:163, in pandas._libs.index.IndexEngine.get_loc() File pandas\_libs\hashtable_class_helper.pxi:5198, in pandas._libs.hashtable.PyObjectHashTable.get_item() File pandas\_libs\hashtable_class_helper.pxi:5206, in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'machine_status' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) Input In [25], in <cell line: 1>() ----> 1 df['machine_status'] = df1['machine_status'] File ~\miniconda3\envs\pump-failure-pred\lib\site-packages\pandas\core\frame.py:3505, in DataFrame.__getitem__(self, key) 3503 if self.columns.nlevels > 1: 3504 return self._getitem_multilevel(key) -> 3505 indexer = self.columns.get_loc(key) 3506 if is_integer(indexer): 3507 indexer = [indexer] File ~\miniconda3\envs\pump-failure-pred\lib\site-packages\pandas\core\indexes\base.py:3623, in Index.get_loc(self, key, method, tolerance) 3621 return self._engine.get_loc(casted_key) 3622 except KeyError as err: -> 3623 raise KeyError(key) from err 3624 except TypeError: 3625 # If we have a listlike key, _check_indexing_error will raise 3626 # InvalidIndexError. Otherwise we fall through and re-raise 3627 # the TypeError. 3628 self._check_indexing_error(key) KeyError: 'machine_status'
Di mana letak kesalahannya? . Penerjemah python mengatakan bahwa saya tidak melakukannya

Apa itu kesalahan kunci?

Terima kasih sebelumnya

Dengan hormat,

LZ
.

Membalas

Menemukan

Membalas

deanhystad
Beratnya Sama dengan Bebek

Postingan. 4.495

Utas. 16

Bergabung. Feb 2020

Reputasi. 263

Jul-07-2022, 04. 43 sore

Apakah "status_mesin" adalah kunci (tajuk kolom) di df1?

Ini adalah bagaimana hal-hal bekerja dalam teori

import pandas as pd

df1 = pd.DataFrame({"Letters": ["A", "B", "C", "D"]})
df2 = pd.DataFrame({"Numbers": [1, 2, 3, 4]})

df1["Integers"] = df2["Numbers"]  # df1 can be any name.  df2 has to be existing column
print(df1)

Output:

Letters Integers 0 A 1 1 B 2 2 C 3 3 D 4

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

Jul-07-2022, 05. 21 malam

Ya itu. Saya mengambil tiga kolom dari kerangka data df, tetapi sebelum melakukannya, saya membuat salinan kerangka data df dan menyebutnya df1

Saya mencoba mengembalikan status mesin ke kerangka data yang diperkecil, df. Saya telah melakukan semua penskalaan dan normalisasi pada df, jadi sekarang saya mencoba untuk menyatukannya kembali. Saya ingin membalikkan jatuhnya tiga kolom, tetapi hanya untuk kolom machine_statis sekarang

Di situlah gagal. df hanyalah kolom ramping dari dirinya sebelumnya

Tapi "machine_statis" adalah nama kolom yang telah saya diskusikan

Saya harap ini informatif

Dengan hormat,

LZ

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

Jul-07-2022, 05. 52 sore

Saya suka teladan Anda. Tapi tolong mengerti, melakukannya dengan cara itu akan sangat sulit

Kolom machine_status saya memiliki lebih dari 220.000 nilai. Itu tidak praktis. Saya benar-benar ingin menggunakan metode pintasan, tetapi saya terus mendapatkan "key_error" ini

Itu sebabnya saya memilih cara singkat
Saya akan terus berusaha

R,

LZ

Membalas

Menemukan

Membalas

deanhystad
Beratnya Sama dengan Bebek

Postingan. 4.495

Utas. 16

Bergabung. Feb 2020

Reputasi. 263

07-Jul-2022, 06. 01 PM (Pos ini terakhir diubah. Jul-07-2022, 08. 16:00 oleh deanhystad. )

Tidak ada bedanya berapa banyak "nilai" yang ada. Operasi kerangka data yang ditampilkan bekerja dengan seri (kolom). Kolom yang berisi 20.000 nilai berfungsi persis seperti kolom yang berisi 4

Bagian ini hanya agar saya memiliki dua kerangka data untuk dikerjakan

df1 = pd.DataFrame({"Letters": ["A", "B", "C", "D"]})
df2 = pd.DataFrame({"Numbers": [1, 2, 3, 4]})
_Jika Anda lebih suka mereka masing-masing dapat memiliki 1.000.000 nilai

Saya mendapatkan kesalahan saat melakukan ini
import pandas as pd

df1 = pd.DataFrame({"Letters": ["A", "B", "C", "D"]})
df2 = pd.DataFrame({"Numbers": [1, 2, 3, 4, 5]})

df1["Integers"] = df2["Number"]
print(df1)

Error:

Traceback (most recent call last): File "...\lib\site-packages\pandas\core\indexes\base.py", line 3621, in get_loc return self._engine.get_loc(casted_key) File "pandas\_libs\index.pyx", line 136, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\index.pyx", line 163, in pandas._libs.index.IndexEngine.get_loc File "pandas\_libs\hashtable_class_helper.pxi", line 5198, in pandas._libs.hashtable.PyObjectHashTable.get_item File "pandas\_libs\hashtable_class_helper.pxi", line 5206, in pandas._libs.hashtable.PyObjectHashTable.get_item KeyError: 'Number' The above exception was the direct cause of the following exception: Traceback (most recent call last): File ...test.py", line 6, in <module> df1["Integers"] = df2["Number"] File "...\lib\site-packages\pandas\core\frame.py", line 3505, in __getitem__ indexer = self.columns.get_loc(key) File "...\lib\site-packages\pandas\core\indexes\base.py", line 3623, in get_loc raise KeyError(key) from err KeyError: 'Number'
Itu sangat mirip dengan kesalahan Anda. Saya pikir (cukup yakin) tidak ada kolom "machine_status" di df1

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

Jul-07-2022, 06. 43 sore

Anda tahu itu juga yang saya pikirkan. Saya akan memeriksanya dan melihat

Terima kasih atas masukan Anda

Dengan hormat,

LZ

Membalas

Menemukan

Membalas

Led_Zeppelin
Pemisah

Postingan. 151

Utas. 80

Bergabung. Feb 2021

Reputasi. 0

Jul-07-2022, 07. 03 sore

Anda benar. Tapi itu harus ada

Di baris sebelumnya dalam program, saya menggunakan perintah

df1=df

Sekarang saya melakukan ini sebelum saya menjatuhkan tiga kolom dari df

Itu ("status_mesin") seharusnya ada di sana, tetapi tidak

Bagaimana saya bisa mengerjakan putaran ini

Saya ingin menyimpan kerangka data dari pengunggahan awal saya
Saya dapat mengerjakan kerangka data awal untuk menskalakan dan menormalkan jadi saya
kemudian dapat "melampirkan" tiga kolom yang dijatuhkan di lain waktu

Namun, ini tidak berhasil dan kesalahannya ada di

ddf1 = df

Setiap bantuan dihargai

Dengan hormat,

LZ

Membalas

Menemukan

Membalas

Bagaimana cara mengekstrak dua kolom dari DataFrame dengan Python?

Ada tiga metode dasar yang dapat Anda gunakan untuk memilih beberapa kolom dari DataFrame panda. .
Metode 1. Pilih Kolom berdasarkan Indeks df_new = df. iloc[. , [0,1,3]]
Metode 2. Pilih Kolom dalam Kisaran Indeks df_new = df. iloc[. , 0. 3]
Metode 3. Pilih Kolom berdasarkan Nama df_new = df[['col1', 'col2']]

Bagaimana cara mengekstrak kolom dari DataFrame di panda?

Anda dapat menggunakan fungsi loc dan iloc untuk mengakses kolom di Pandas DataFrame. Mari kita lihat caranya. Jika kami ingin mengakses kolom tertentu di DataFrame kami, misalnya kolom Nilai, kami cukup menggunakan fungsi loc dan menentukan nama kolom untuk mengambilnya.

Bagaimana cara menempelkan dua kolom di panda?

Menggabungkan Dua Kolom Menggunakan + Operator . Perhatikan bahwa ketika Anda menerapkan + operator pada kolom numerik, itu sebenarnya penambahan, bukan penggabungan. By use + operator simply you can combine/merge two or multiple text/string columns in pandas DataFrame. Note that when you apply + operator on numeric columns it actually does addition instead of concatenation.

Bisakah DataFrame memiliki kolom duplikat?

Untuk menemukan kolom duplikat, kita perlu mengulangi semua kolom DataFrame dan untuk setiap kolom akan mencari jika ada kolom lain yang ada di DataFrame dengan konten yang sama. Jika ya maka nama kolom itu akan disimpan dalam kumpulan kolom duplikat