Pandas DataFrames માં પંક્તિઓ ફિલ્ટરિંગ
ડેટા મેનીપ્યુલેશન અને પૃથ્થકરણ માટે પાંડા એ પાયથોનમાં એક શક્તિશાળી પુસ્તકાલય છે. એક સામાન્ય કાર્ય એ કોલમ મૂલ્યો પર આધારિત ડેટાફ્રેમમાંથી પંક્તિઓ પસંદ કરવાનું છે, જે SQL ના SELECT * FROM ટેબલ WHERE column_name = some_value જેવું છે.
આ માર્ગદર્શિકા તમને પાંડામાં આ હાંસલ કરવા માટે વિવિધ પદ્ધતિઓ દ્વારા માર્ગદર્શન આપશે, તમારા ડેટાને અસરકારક રીતે ફિલ્ટર કરવાનું સરળ બનાવશે. ભલે તમે શિખાઉ છો કે અનુભવી વપરાશકર્તા, આ ટીપ્સ તમારી ડેટા હેન્ડલિંગ કુશળતાને વધારશે.
આદેશ | વર્ણન |
---|---|
pd.DataFrame(data) | ડેટાના શબ્દકોશમાંથી ડેટાફ્રેમ બનાવે છે. |
df[column_name] | નામ દ્વારા ડેટાફ્રેમમાં કૉલમને ઍક્સેસ કરે છે. |
df[condition] | કૉલમ પર લાગુ કરેલી શરતના આધારે ડેટાફ્રેમને ફિલ્ટર કરે છે. |
print(selected_rows) | ડેટાફ્રેમ અથવા તેનો સબસેટ કન્સોલ પર છાપે છે. |
df[df['Age'] >df[df['Age'] > 25] | પંક્તિઓ પસંદ કરે છે જ્યાં 'ઉંમર' કૉલમના મૂલ્યો 25 કરતાં વધુ હોય. |
df[df['City'] == 'Chicago'] | પંક્તિઓ પસંદ કરે છે જ્યાં 'શહેર' કૉલમ મૂલ્યો 'શિકાગો' સમાન હોય છે. |
પાંડામાં ડેટાફ્રેમ પંક્તિ પસંદગીને સમજવી
પૂરી પાડવામાં આવેલ સ્ક્રિપ્ટો Python માં Pandas લાઇબ્રેરીનો ઉપયોગ કરીને કૉલમ મૂલ્યોના આધારે ડેટાફ્રેમમાંથી પંક્તિઓ કેવી રીતે પસંદ કરવી તે દર્શાવે છે. પ્રથમ સ્ક્રિપ્ટની શરૂઆત સાથે પાંડા લાઇબ્રેરીને આયાત કરીને થાય છે import pandas as pd આદેશ તે પછી ડેટાના શબ્દકોશનો ઉપયોગ કરીને નમૂના ડેટાફ્રેમ બનાવે છે, જે ડેટાફ્રેમમાં રૂપાંતરિત થાય છે pd.DataFrame(data) આદેશ સ્ક્રિપ્ટ પછી પંક્તિ પસંદગી માટે બે પદ્ધતિઓ સમજાવે છે: પંક્તિઓ પસંદ કરવી જ્યાં 'ઉંમર' કૉલમનું મૂલ્ય 25 કરતાં વધુ હોય df[df['Age'] > 25], અને પંક્તિઓ પસંદ કરી રહ્યા છીએ જ્યાં 'શહેર' કૉલમનું મૂલ્ય 'શિકાગો' છે df[df['City'] == 'Chicago']. આ ફિલ્ટર કરેલ ડેટાફ્રેમનો ઉપયોગ કરીને પ્રિન્ટ કરવામાં આવે છે print() પસંદ કરેલ પંક્તિઓ દર્શાવવા માટેનું કાર્ય.
બીજી સ્ક્રિપ્ટ સમાન માળખાને અનુસરે છે પરંતુ વિવિધ ડેટા અને પસંદગીના માપદંડોનો ઉપયોગ કરે છે. તે 'ઉત્પાદન', 'કિંમત' અને 'સ્ટોક' કૉલમ સહિત ઉત્પાદનની માહિતી સાથે ડેટાફ્રેમ બનાવે છે. પંક્તિઓ પસંદ કરવામાં આવે છે જ્યાં 'કિંમત' 200 થી ઓછી અથવા બરાબર હોય df[df['Price'] <= 200], અને જ્યાં 'સ્ટોક' નો ઉપયોગ 40 થી વધુ છે df[df['Stock'] > 40]. આ સ્ક્રિપ્ટ્સનો હેતુ ચોક્કસ પરિસ્થિતિઓના આધારે ડેટાફ્રેમ પંક્તિઓને કેવી રીતે ફિલ્ટર કરવી તે બતાવવાનો છે, જેમ કે તમે કૉલમ મૂલ્યના આધારે કોષ્ટકમાંથી પંક્તિઓ પસંદ કરવા માટે SQL ક્વેરીનો ઉપયોગ કરો છો. આ આદેશોને સમજીને અને લાગુ કરીને, તમે તમારા ડેટાફ્રેમ્સમાં ડેટાને અસરકારક રીતે હેરફેર અને વિશ્લેષણ કરી શકો છો.
પાંડામાં કૉલમ મૂલ્યોનો ઉપયોગ કરીને ડેટાફ્રેમમાં પંક્તિઓ પસંદ કરવી
પાંડા લાઇબ્રેરી સાથે પાયથોન
# Importing the necessary library
import pandas as pd
# Creating a sample DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [24, 27, 22, 32, 29],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']
}
df = pd.DataFrame(data)
# Selecting rows where Age is greater than 25
selected_rows = df[df['Age'] > 25]
print(selected_rows)
# Selecting rows where City is 'Chicago'
chicago_rows = df[df['City'] == 'Chicago']
print(chicago_rows)
કૉલમ માપદંડો પર આધારિત ડેટાફ્રેમમાં ડેટા ફિલ્ટરિંગ
પાંડા લાઇબ્રેરી સાથે પાયથોન
# Importing pandas library
import pandas as pd
# Creating a sample DataFrame
data = {'Product': ['A', 'B', 'C', 'D', 'E'],
'Price': [100, 150, 200, 250, 300],
'Stock': [30, 60, 90, 20, 50]}
df = pd.DataFrame(data)
# Selecting rows where Price is less than or equal to 200
affordable_products = df[df['Price'] <= 200]
print(affordable_products)
# Selecting rows where Stock is more than 40
in_stock = df[df['Stock'] > 40]
print(in_stock)
પાંડામાં ડેટાફ્રેમ પંક્તિઓ પસંદ કરવા માટે અદ્યતન તકનીકો
બુલિયન ઇન્ડેક્સીંગનો ઉપયોગ કરીને મૂળભૂત ફિલ્ટરિંગ ઉપરાંત, પાંડા સ્તંભ મૂલ્યો પર આધારિત પંક્તિઓ પસંદ કરવા માટે અદ્યતન તકનીકો પ્રદાન કરે છે. એક શક્તિશાળી પદ્ધતિનો ઉપયોગ કરી રહી છે query() ફંક્શન, જે તમને ક્વેરી એક્સપ્રેશન સાથે પંક્તિઓને ફિલ્ટર કરવાની પરવાનગી આપે છે, સિન્ટેક્સ ક્લીનર અને ઘણી વખત વધુ સાહજિક બનાવે છે. દાખલા તરીકે, ઉપયોગ કરવાને બદલે df[df['Age'] > 25], તમે લખી શકો છો df.query('Age > 25'). આ પદ્ધતિ ખાસ કરીને વધુ જટિલ પરિસ્થિતિઓ સાથે કામ કરતી વખતે અથવા જ્યારે કૉલમના નામોમાં જગ્યાઓ હોય ત્યારે ઉપયોગી છે. વધુમાં, ધ isin() જ્યારે તમે મૂલ્યોની સૂચિના આધારે પંક્તિઓ ફિલ્ટર કરવા માંગતા હો ત્યારે કાર્ય ફાયદાકારક છે. ઉદાહરણ તરીકે, પંક્તિઓ પસંદ કરવા માટે જ્યાં 'સિટી' કૉલમનું મૂલ્ય ક્યાં તો 'શિકાગો' અથવા 'ન્યૂ યોર્ક' છે, તમે ઉપયોગ કરી શકો છો df[df['City'].isin(['Chicago', 'New York'])].
બીજી તકનીકમાં શામેલ છે loc અને iloc અનુક્રમણિકા આ loc ઇન્ડેક્સર લેબલ-આધારિત છે, જે તમને પંક્તિના લેબલ્સ અને કૉલમના નામોના આધારે પંક્તિઓ પસંદ કરવાની મંજૂરી આપે છે, જ્યારે iloc પૂર્ણાંક-સ્થાન-આધારિત છે, પંક્તિ અને કૉલમ નંબરો દ્વારા પસંદગીને સક્ષમ કરે છે. આ સુગમતા ખાસ કરીને અલગ કૉલમ પર લાગુ કરાયેલી શરતના આધારે પંક્તિઓ પસંદ કરવા માટે ઉપયોગી છે. દાખલા તરીકે, df.loc[df['Age'] > 25, 'Name'] 25 વર્ષથી વધુ ઉંમરના વ્યક્તિઓના નામ પરત કરશે. આ પદ્ધતિઓ વધુ વાંચી શકાય તેવા અને જાળવણી કરી શકાય તેવા કોડ ઓફર કરીને, પાંડામાં ડેટાને અસરકારક રીતે હેન્ડલ કરવા અને તેનું વિશ્લેષણ કરવા માટે તમારી ટૂલકિટને વિસ્તૃત કરે છે.
ડેટાફ્રેમ પંક્તિઓ પસંદ કરવા વિશે સામાન્ય પ્રશ્નો અને જવાબો
- હું બહુવિધ શરતોના આધારે પંક્તિઓ કેવી રીતે પસંદ કરી શકું?
- તમે ઉપયોગ કરી શકો છો query() ફંક્શન અથવા લોજિકલ ઓપરેટરો જેવા શરતો સાથે સંયોજન & અને |. દાખ્લા તરીકે, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
- શું હું મૂલ્યોની સૂચિના આધારે પંક્તિઓ ફિલ્ટર કરી શકું?
- હા, નો ઉપયોગ કરો isin() કાર્ય દાખલા તરીકે, df[df['City'].isin(['Chicago', 'New York'])].
- વચ્ચે શું તફાવત છે loc અને iloc?
- loc લેબલ આધારિત છે, જ્યારે iloc પૂર્ણાંક-સ્થાન-આધારિત છે. વાપરવુ loc પંક્તિ/કૉલમ લેબલ્સ સાથે અને iloc પંક્તિ/સ્તંભ સૂચકાંકો સાથે.
- પંક્તિઓ ફિલ્ટર કરતી વખતે હું ચોક્કસ કૉલમ કેવી રીતે પસંદ કરી શકું?
- તમે ઉપયોગ કરી શકો છો loc. દાખ્લા તરીકે, df.loc[df['Age'] > 25, ['Name', 'City']].
- પંક્તિઓ પસંદ કરતી વખતે હું ખૂટતા મૂલ્યોને કેવી રીતે હેન્ડલ કરી શકું?
- નો ઉપયોગ કરો dropna() ગુમ થયેલ મૂલ્યો સાથે પંક્તિઓ દૂર કરવા માટેનું કાર્ય, અથવા fillna() તેમને નિર્દિષ્ટ મૂલ્ય સાથે બદલવા માટે.
- શું હું પંક્તિઓ ફિલ્ટર કરવા માટે રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરી શકું?
- હા, ધ str.contains() સાથે કાર્ય કરે છે regex=True પરિમાણ તમને રેજેક્સ પેટર્નના આધારે પંક્તિઓ ફિલ્ટર કરવાની મંજૂરી આપે છે. દાખ્લા તરીકે, df[df['Name'].str.contains('^A', regex=True)].
- હું ઇન્ડેક્સના આધારે પંક્તિઓ કેવી રીતે ફિલ્ટર કરી શકું?
- તમે ઉપયોગ કરી શકો છો loc ઇન્ડેક્સ નામ સાથે. દાખ્લા તરીકે, df.loc[df.index == 'some_index'].
- જો મારા કૉલમના નામોમાં સ્પેસ અથવા વિશિષ્ટ અક્ષરો હોય તો શું?
- નો ઉપયોગ કરો query() ફંક્શન જે આવા કૉલમ નામોને બેકટીક્સ સાથે હેન્ડલ કરી શકે છે. દાખ્લા તરીકે, df.query('`column name` == value').
ડેટાફ્રેમ પંક્તિ પસંદગી તકનીકો પર અંતિમ વિચારો
Pandas માં કૉલમ મૂલ્યો પર આધારિત ડેટાફ્રેમમાંથી પંક્તિઓ પસંદ કરવી એ ડેટા મેનીપ્યુલેશન માટે નિર્ણાયક કૌશલ્ય છે. બુલિયન ઇન્ડેક્સીંગ સહિતની ચર્ચા કરાયેલ વિવિધ પદ્ધતિઓ, query(), isin(), અને સાથે લેબલ-આધારિત અને પૂર્ણાંક-સ્થાન-આધારિત અનુક્રમણિકા loc અને iloc, ડેટાને અસરકારક રીતે ફિલ્ટર કરવા માટે શક્તિશાળી સાધનો પ્રદાન કરો. આ તકનીકોમાં નિપુણતા વધુ સારી રીતે ડેટા વિશ્લેષણ અને ક્લીનર, વધુ જાળવણી કરી શકાય તેવા કોડને સક્ષમ કરે છે.