Censored डेटा का प्रीप्रोसेसिंग
आप spinner dolphins की lifespan का अध्ययन कर रहे एक मरीन-बायोलॉजिस्ट हैं। आपके पास उनके birth और death dates का ऐतिहासिक डेटा है। कुछ टैग किए गए डॉल्फ़िन पानी के दूसरे हिस्से में माइग्रेट कर गए और लैब उनका ट्रैक खो बैठी। कुछ डॉल्फ़िन किसी दूसरे pod से आए प्रवासी हैं, और उनकी सही birth dates अज्ञात हैं। कुछ डॉल्फ़िन अभी ज़िंदा भी हैं!
- अगर birth date
NaNहै, तो डॉल्फ़िन migrant है. - अगर death date
NaNहै, तो डॉल्फ़िन या तो भाग गई या ज़िंदा है.
DataFrame का नाम dolphin_df है। एक नया कॉलम observed बनाने के लिए, जो यह फ्लैग करे कि किसी डॉल्फ़िन का lifetime censored है या नहीं, फंक्शन check_observed को उपयुक्त वैल्यूज़ के साथ भरें और .apply() का उपयोग करके इसे dolphin_df पर अप्लाई करें।
pandas और numpy क्रमशः pd और np के रूप में लोड हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Survival Analysis
अभ्यास निर्देश
- एक फंक्शन
check_observedबनाएँ जो data point के censored होने पर0और अन्यथा1लौटाए। - फंक्शन
check_observedका उपयोग करकेobservedनाम का censorship फ्लैग कॉलम बनाएँ. - कंसोल में
observedकॉलम के औसत मान को प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a function to return 1 if observed 0 otherwise
def check_observed(row):
if pd.isna(row['birth_date']):
flag = ____
elif pd.isna(row['death_date']):
flag = ____
else:
flag = ____
return ____
# Create a censorship flag column
dolphin_df[____] = dolphin_df.apply(____, axis=1)
# Print average of observed
print(np.average(____))