Iteration in Pandas is an anti-pattern and is something you should only do when you have exhausted every other option. You should not use any function with "iter" in its name for more than a few thousand rows or you will have to get used to a lot of waiting.

Do you want to compute something? In that case, search for methods in this order:
    1. Vectorization
    2. Cython routines
    3. List Comprehensions
    4. DataFrame.apply()
    5. DataFrame.itertuples() and DataFrame.iteritems()
    6. DataFrame.iterrows()

iterrows and itertuples should be used in very rare circumstances, such as generating row objects/nametuples for sequential processing, which is really the only thing these functions are useful for.

A good number of basic operations and computations are "vectorized" by pandas (either through NumPy, or through Cythonized functions). This includes arithmetic, comparisons, (most) reductions, reshaping, joins, and groupby operations.
การวนซ้ำใน Pandas เป็นการต่อต้านรูปแบบและเป็นสิ่งที่คุณควรทำเมื่อคุณใช้ตัวเลือกอื่นหมดแล้วเท่านั้น คุณไม่ควรใช้ฟังก์ชันใดๆ ที่มีคำว่า "iter" ในชื่อติดต่อกันเกินสองสามพันแถว ไม่เช่นนั้นคุณจะต้องคุ้นเคยกับการรอคอยเป็นเวลานาน คุณต้องการคำนวณบางอย่างหรือไม่? ในกรณีนั้น ให้ค้นหาวิธีการตามลำดับนี้: 1. การทำเวกเตอร์ 2. รูทีน Cython 3. รายการความเข้าใจ 4. DataFrame.apply() 5. DataFrame.itertuples() และ DataFrame.iteritems() 6. DataFrame.iterrows() iterrows และควรใช้ itertuples ในสถานการณ์ที่หายากมาก เช่น การสร้างออบเจ็กต์แถว/ชื่อสำหรับการประมวลผลตามลำดับ ซึ่งเป็นสิ่งเดียวที่ฟังก์ชันเหล่านี้มีประโยชน์จริงๆ การดำเนินการพื้นฐานและการคำนวณจำนวนมากถูก "เวกเตอร์" โดยแพนด้า (ไม่ว่าจะผ่าน NumPy หรือผ่านฟังก์ชัน Cythonized) ซึ่งรวมถึงเลขคณิต การเปรียบเทียบ การลด (ส่วนใหญ่) การปรับรูปร่างใหม่ การรวม และการดำเนินการจัดกลุ่ม
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence