Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python เพื่อสร้างสุ่มสิบแถว สระสองคอลัมน์ หากทั้งสองแถวตรงกับสระเดียวกัน ให้พิมพ์ดัชนีและจำนวนคอลัมน์ที่ตรงกัน


สมมติว่าคุณมี dataframe

 col1 col2
0 o    e
1 e    e
2 i    u
3 e    o
4 i    i
5 u    o
6 e    a
7 u    o
8 a    u
9 e    a

ผลลัพธ์สำหรับดัชนีและจำนวนที่ตรงกันคือ

index is
 col1 col2
1 e    e
4 i    i
count is 2

วิธีแก้ปัญหา

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -

  • กำหนดดาต้าเฟรม

  • เปรียบเทียบค่าดัชนีที่ตรงกันที่หนึ่งและที่สองโดยใช้วิธีการด้านล่าง

df.iloc[np.where(df.col1==df.col2)])
  • ค้นหาจำนวนคอลัมน์ที่ตรงกันทั้งหมดโดยใช้ขั้นตอนด้านล่าง

len(df.iloc[np.where(df.col1==df.col2)])

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

import pandas as pd
import numpy as np
df = pd.DataFrame({'col1': np.random.choice(['a','e','i','o','u'], 10), 'col2': np.random.choice(['a','e','i','o','u'],10)
                  })
print("DataFrame is \n", df)
print("index is \n",df.iloc[np.where(df.col1==df.col2)])
print("count is \n", len(df.iloc[np.where(df.col1==df.col2)]))

ผลลัพธ์

 col1 col2
0 o    e
1 e    e
2 i    u
3 e    o
4 i    i
5 u    o
6 e    a
7 u    o
8 a    u
9 e    a
index is
 col1 col2
1 e    e
4 i    i
count is 2