પાયથોનમાં કોલમ વેલ્યુ પર આધારિત ડેટાફ્રેમ પંક્તિઓ પસંદ કરી રહ્યા છીએ

પાયથોનમાં કોલમ વેલ્યુ પર આધારિત ડેટાફ્રેમ પંક્તિઓ પસંદ કરી રહ્યા છીએ
Python

કૉલમ મૂલ્યો દ્વારા ડેટાફ્રેમ્સને ફિલ્ટર કરવા માટે પાંડાનો ઉપયોગ કરવો

Python માં ડેટા સાથે કામ કરતી વખતે, Pandas લાઇબ્રેરી ડેટા મેનીપ્યુલેશન અને વિશ્લેષણ માટે શક્તિશાળી સાધનો પ્રદાન કરે છે. એક સામાન્ય કાર્ય ચોક્કસ કૉલમના મૂલ્યોના આધારે ડેટાફ્રેમમાંથી પંક્તિઓ પસંદ કરવાનું છે. આ ઑપરેશન SQL ક્વેરી જેવું જ છે: SELECT * FROM કોષ્ટક WHERE column_name = some_value.

આ લેખમાં, અમે વિવિધ પદ્ધતિઓનો ઉપયોગ કરીને પાંડામાં આ કેવી રીતે પ્રાપ્ત કરવું તે શોધીશું. ભલે તમે એક મૂલ્ય અથવા બહુવિધ માપદંડો દ્વારા ફિલ્ટર કરી રહ્યાં હોવ, Pandas આવા ઓપરેશન્સને હેન્ડલ કરવા માટે સાહજિક અને કાર્યક્ષમ રીતો પ્રદાન કરે છે. ચાલો વિગતોમાં ડાઇવ કરીએ.

આદેશ વર્ણન
pd.DataFrame() શબ્દકોશ અથવા અન્ય ડેટા સ્ટ્રક્ચર્સમાંથી ડેટાફ્રેમ ઑબ્જેક્ટ બનાવે છે.
df[condition] શરતના આધારે ડેટાફ્રેમ પંક્તિઓ ફિલ્ટર કરે છે, ફક્ત તે જ પરત કરે છે જે માપદંડને પૂર્ણ કરે છે.
print() કન્સોલ પર ઉલ્લેખિત સંદેશ અથવા ડેટાફ્રેમ આઉટપુટ કરે છે.
df['column'] == value પંક્તિઓ ફિલ્ટર કરવા માટે ઉપયોગમાં લેવાતી બુલિયન શ્રેણી બનાવે છે જ્યાં કૉલમ ઉલ્લેખિત મૂલ્ય સાથે મેળ ખાય છે.
df['column'] >df['column'] > value પંક્તિઓ ફિલ્ટર કરવા માટે ઉપયોગમાં લેવાતી બુલિયન શ્રેણી બનાવે છે જ્યાં કૉલમ મૂલ્યો ઉલ્લેખિત મૂલ્ય કરતાં વધુ હોય છે.
# Comment કોડની અંદર સ્પષ્ટીકરણો અથવા નોંધો ઉમેરવા માટે વપરાય છે, જે સ્ક્રિપ્ટના ભાગ રૂપે ચલાવવામાં આવતી નથી.

પાંડામાં ડેટાફ્રેમ પંક્તિ પસંદગીનો અમલ કરવો

પૂરી પાડવામાં આવેલ સ્ક્રિપ્ટ્સમાં, મુખ્ય કાર્ય એ ડેટાફ્રેમમાંથી પંક્તિઓને ચોક્કસ કૉલમ મૂલ્યોના આધારે ફિલ્ટર કરવાનું છે, જે ડેટા વિશ્લેષણમાં સામાન્ય જરૂરિયાત છે. પ્રથમ સ્ક્રિપ્ટ પાંડા લાઇબ્રેરીને આયાત કરીને શરૂ થાય છે import pandas as pd. આ જરૂરી છે કારણ કે પાંડા પાયથોનમાં એક શક્તિશાળી ડેટા મેનીપ્યુલેશન લાઇબ્રેરી છે. આગળ, અમે ઉપયોગ કરીને નમૂના ડેટાફ્રેમ બનાવીએ છીએ pd.DataFrame() નામ, ઉંમર અને શહેરો માટેનો ડેટા ધરાવતા શબ્દકોશ સાથે. આ માળખું અમને ટેબ્યુલર ડેટાને સરળતાથી વિઝ્યુઅલાઈઝ અને હેરફેર કરવાની મંજૂરી આપે છે. સ્ક્રિપ્ટનો નિર્ણાયક ભાગ એ છે કે જ્યાં આપણે પંક્તિઓનો ઉપયોગ કરીને ફિલ્ટર કરીએ છીએ df[df['city'] == 'New York']. આ આદેશ તમામ પંક્તિઓ પસંદ કરે છે જ્યાં સિટી કૉલમનું મૂલ્ય 'ન્યૂ યોર્ક' છે. પરિણામ ચલમાં સંગ્રહિત છે ny_rows, જે પછી ફિલ્ટર કરેલ ડેટાફ્રેમ પ્રદર્શિત કરવા માટે છાપવામાં આવે છે.

બીજી સ્ક્રિપ્ટ સમાન માળખાને અનુસરે છે પરંતુ સંખ્યાત્મક સ્થિતિના આધારે પંક્તિઓ ફિલ્ટર કરવા પર ધ્યાન કેન્દ્રિત કરે છે. પાંડાને આયાત કર્યા પછી અને ઉત્પાદન, કિંમત અને જથ્થાના કૉલમ સાથે ડેટાફ્રેમ બનાવ્યા પછી, સ્ક્રિપ્ટ ઉપયોગ કરે છે df[df['price'] > 150] પંક્તિઓને ફિલ્ટર કરવા માટે જ્યાં કિંમત 150 થી વધુ હોય. આ આદેશ મૂળ ડેટાફ્રેમનો સબસેટ બનાવે છે જેમાં ફક્ત પંક્તિઓ હોય છે જે સ્પષ્ટ કરેલ સ્થિતિને પૂર્ણ કરે છે. પરિણામ સંગ્રહિત છે expensive_products અને ચકાસણી માટે છાપવામાં આવે છે. બંને સ્ક્રિપ્ટો ડેટા મેનીપ્યુલેશન માટે પાંડાની શક્તિ અને સરળતા દર્શાવે છે. બુલિયન ઇન્ડેક્સીંગનો ઉપયોગ કરીને, એક પદ્ધતિ જ્યાં આપણે ડેટાને ફિલ્ટર કરવા માટે સાચા/ખોટા મૂલ્યોની શ્રેણી પસાર કરીએ છીએ, અમે વિવિધ પરિસ્થિતિઓના આધારે ડેટાના સબસેટને અસરકારક રીતે પસંદ કરી શકીએ છીએ, જે તેને ડેટા વિશ્લેષકો અને વૈજ્ઞાનિકો માટે અમૂલ્ય સાધન બનાવે છે.

કૉલમ મૂલ્યો પર આધારિત ડેટાફ્રેમમાં પંક્તિઓ ફિલ્ટરિંગ

પાયથોન - ડેટાફ્રેમ ઓપરેશન્સ માટે પાંડાનો ઉપયોગ

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

કૉલમ મૂલ્યો પર આધારિત ડેટાફ્રેમ પંક્તિઓની પૂછપરછ

પાયથોન - પાંડા સાથે અદ્યતન ફિલ્ટરિંગ

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

ડેટાફ્રેમ પંક્તિઓ પસંદ કરવા માટે અદ્યતન તકનીકો

બુલિયન અનુક્રમણિકા સાથે મૂળભૂત ફિલ્ટરિંગ ઉપરાંત, પાંડા કૉલમ મૂલ્યો પર આધારિત પંક્તિઓ પસંદ કરવા માટે વધુ અદ્યતન તકનીકો પ્રદાન કરે છે. આવી એક પદ્ધતિ છે query() ફંક્શન, જે તમને ડેટાફ્રેમ પંક્તિઓ ફિલ્ટર કરવા માટે SQL-જેવા સિન્ટેક્સનો ઉપયોગ કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, તમે ઉપયોગ કરી શકો છો df.query('age > 25 and city == "New York"') પંક્તિઓ પસંદ કરવા માટે જ્યાં વય 25 વર્ષથી વધુ હોય અને શહેર ન્યુ યોર્ક હોય. આ પદ્ધતિ તમારા કોડને વધુ વાંચવા યોગ્ય બનાવી શકે છે, ખાસ કરીને જટિલ પરિસ્થિતિઓ માટે. વધુમાં, પાન્ડા પૂરી પાડે છે loc[] અને iloc[] વધુ ચોક્કસ પંક્તિ પસંદગી માટે એક્સેસર્સ. આ loc[] એક્સેસર લેબલ-આધારિત છે, એટલે કે તમે પંક્તિઓને તેમના લેબલ્સ અથવા બુલિયન એરે દ્વારા ફિલ્ટર કરી શકો છો. તેનાથી વિપરીત, ધ iloc[] એક્સેસર પૂર્ણાંક સ્થિતિ-આધારિત છે, જે તમને તેમની અનુક્રમણિકા સ્થિતિ દ્વારા પંક્તિઓને ફિલ્ટર કરવાની મંજૂરી આપે છે.

Pandas માં અન્ય એક શક્તિશાળી સુવિધા એ ડેટાફ્રેમ પંક્તિઓનો ઉપયોગ કરીને ફિલ્ટર કરવાની ક્ષમતા છે isin() પદ્ધતિ જ્યારે તમારે મૂલ્યોની સૂચિના આધારે પંક્તિઓ ફિલ્ટર કરવાની જરૂર હોય ત્યારે આ પદ્ધતિ ઉપયોગી છે. દાખ્લા તરીકે, df[df['city'].isin(['New York', 'Los Angeles'])] પંક્તિઓ પસંદ કરે છે જ્યાં સિટી કૉલમનું મૂલ્ય ક્યાં તો ન્યૂ યોર્ક અથવા લોસ એન્જલસ છે. વધુમાં, તમે ઉપયોગ કરીને બહુવિધ શરતોને સાંકળ કરી શકો છો & અને | ઓપરેટરો વધુ જટિલ ફિલ્ટર્સ બનાવવા માટે. દાખલા તરીકે, df[(df['age'] > 25) & (df['city'] == 'New York')] પંક્તિઓ ફિલ્ટર કરે છે જ્યાં વય 25 વર્ષથી વધુ છે અને શહેર ન્યુ યોર્ક છે. આ અદ્યતન તકનીકો ડેટા ફિલ્ટરિંગ માટે એક મજબૂત માળખું પ્રદાન કરે છે, જે પાંડાને ડેટા વિશ્લેષણ અને મેનીપ્યુલેશન માટે બહુમુખી સાધન બનાવે છે.

પાંડામાં ડેટાફ્રેમ પંક્તિઓ પસંદ કરવા વિશે સામાન્ય પ્રશ્નો

  1. હું બહુવિધ કૉલમ મૂલ્યોના આધારે ડેટાફ્રેમમાં પંક્તિઓ કેવી રીતે ફિલ્ટર કરી શકું?
  2. તમે ઉપયોગ કરીને સંયુક્ત બહુવિધ શરતો સાથે બુલિયન ઇન્ડેક્સીંગનો ઉપયોગ કરી શકો છો & અને |. દાખ્લા તરીકે: df[(df['age'] > 25) & (df['city'] == 'New York')].
  3. વચ્ચે શું તફાવત છે loc[] અને iloc[]?
  4. loc[] લેબલ આધારિત છે, જ્યારે iloc[] પૂર્ણાંક સ્થિતિ આધારિત છે. વાપરવુ loc[] લેબલ્સ દ્વારા ફિલ્ટર કરવા માટે અને iloc[] ઇન્ડેક્સ પોઝિશન દ્વારા ફિલ્ટર કરવા માટે.
  5. હું કેવી રીતે ઉપયોગ કરી શકું query() ડેટાફ્રેમ પંક્તિઓ ફિલ્ટર કરવા માટેનું કાર્ય?
  6. query() ફંક્શન તમને SQL-જેવા સિન્ટેક્સનો ઉપયોગ કરવાની મંજૂરી આપે છે. દાખ્લા તરીકે: df.query('age > 25 and city == "New York"').
  7. શું હું મૂલ્યોની સૂચિના આધારે પંક્તિઓ ફિલ્ટર કરી શકું?
  8. હા, તમે ઉપયોગ કરી શકો છો isin() પદ્ધતિ દાખ્લા તરીકે: df[df['city'].isin(['New York', 'Los Angeles'])].
  9. સ્ટ્રિંગ મેચિંગ પર આધારિત પંક્તિઓ ફિલ્ટર કરવાની શ્રેષ્ઠ રીત કઈ છે?
  10. તમે ઉપયોગ કરી શકો છો str.contains() પદ્ધતિ દાખ્લા તરીકે: df[df['city'].str.contains('New')].
  11. હું પંક્તિઓ કેવી રીતે પસંદ કરી શકું જ્યાં કૉલમ મૂલ્યો ખૂટે છે?
  12. તમે ઉપયોગ કરી શકો છો isna() પદ્ધતિ દાખ્લા તરીકે: df[df['age'].isna()].
  13. હું કસ્ટમ ફંક્શનનો ઉપયોગ કરીને પંક્તિઓ કેવી રીતે ફિલ્ટર કરી શકું?
  14. તમે ઉપયોગ કરી શકો છો apply() લેમ્બડા ફંક્શન સાથેની પદ્ધતિ. દાખ્લા તરીકે: df[df.apply(lambda row: row['age'] > 25, axis=1)].
  15. શું હું અનુક્રમણિકા મૂલ્યોના આધારે પંક્તિઓ ફિલ્ટર કરી શકું?
  16. હા, તમે ઉપયોગ કરી શકો છો index.isin() પદ્ધતિ દાખ્લા તરીકે: df[df.index.isin([1, 3, 5])].

ડેટાફ્રેમ પંક્તિ પસંદગી માટે મુખ્ય ઉપાયો

કૉલમ મૂલ્યો પર આધારિત ડેટાફ્રેમમાંથી પંક્તિઓ પસંદ કરવી એ પાંડા સાથે ડેટા વિશ્લેષણમાં મૂળભૂત કૌશલ્ય છે. બુલિયન ઇન્ડેક્સીંગનો ઉપયોગ કરવો, loc[], iloc[], query(), અને isin() પદ્ધતિઓ કાર્યક્ષમ ડેટા ફિલ્ટરિંગ માટે પરવાનગી આપે છે. આ તકનીકોમાં નિપુણતા મેળવવી એ ડેટાસેટ્સને અસરકારક રીતે હેરફેર અને વિશ્લેષણ કરવાની તમારી ક્ષમતાને વધારે છે.