Untitled

 avatar
unknown
plain_text
6 months ago
3.5 kB
2
Indexable
from fpdf import FPDF

# Create a PDF document
pdf = FPDF()
pdf.set_auto_page_break(auto=True, margin=15)
pdf.add_page()

# Set title
pdf.set_font("Arial", 'B', 16)
pdf.cell(0, 10, 'Pandas Operations on Student_result.csv', ln=True, align='C')
pdf.ln(10)

# Set font for content
pdf.set_font("Arial", size=12)

# Add content for each operation
content = [
    ("1. Read the ‘Student_result.csv’ to create a DataFrame and display Adm_No, Gender, and Percentage",
     "import pandas as pd\n"
     "df = pd.read_csv('Student_result.csv')\n"
     "result_columns = df[['Adm_No', 'Gender', 'Percentage']]\n"
     "print(result_columns)"),
    
    ("2. Display the first 5 and last 5 records from ‘Student_result.csv’",
     "print(\"First 5 records:\")\n"
     "print(df.head())\n"
     "print(\"Last 5 records:\")\n"
     "print(df.tail())"),
    
    ("3. Display the Student_result file with new column names",
     "df.columns = ['Admission_Number', 'Name', 'Gender', 'Percentage']\n"
     "print(df)"),
    
    ("4. Modify the Percentage of students below 40 with NaN in DataFrame",
     "df.loc[df['Percentage'] < 40, 'Percentage'] = pd.NA\n"
     "print(df)"),
    
    ("5. Create a duplicate file for ‘Student_result.csv’ containing Adm_No, Name, and Percentage",
     "duplicate_df = df[['Adm_No', 'Name', 'Percentage']]\n"
     "duplicate_df.to_csv('duplicate_Student_result.csv', index=False)"),
    
    ("6. Write the statement in Pandas to find the highest percentage and print the student’s name and percentage",
     "highest_percentage = df.loc[df['Percentage'].idxmax()]\n"
     "print(f\"Highest Percentage: {highest_percentage['Percentage']}, Name: {highest_percentage['Name']}\")"),
    
    ("7. Importing and exporting data between Pandas and MySQL database",
     "from sqlalchemy import create_engine\n"
     "engine = create_engine('mysql+pymysql://username:password@localhost/db_name')\n"
     "df.to_sql('student_results', con=engine, if_exists='replace', index=False)\n"
     "imported_df = pd.read_sql('SELECT * FROM student_results', con=engine)"),
    
    ("8. Find the sum of each column or find the column with the lowest mean",
     "column_sums = df.sum()\n"
     "lowest_mean_column = df.mean().idxmin()"),
    
    ("9. Locate the 3 largest values in a DataFrame",
     "largest_values = df.nlargest(3, 'Percentage')\n"
     "print(largest_values)"),
    
    ("10. Subtract the mean of a row from each element of the row in a DataFrame",
     "df_mean_subtracted = df.sub(df.mean(axis=1), axis=0)\n"
     "print(df_mean_subtracted)"),
    
    ("11. Replace all negative values in a DataFrame with 0",
     "df[df < 0] = 0\n"
     "print(df)"),
    
    ("12. Replace all missing values in a DataFrame with 999",
     "df.fillna(999, inplace=True)\n"
     "print(df)"),
    
    ("13. Given a Series, print all the elements that are above the 75th percentile",
     "percentage_series = df['Percentage']\n"
     "percentile_75 = percentage_series.quantile(0.75)\n"
     "above_75th = percentage_series[percentage_series > percentile_75]\n"
     "print(above_75th)")
]

# Add content to PDF
for title, code in content:
    pdf.set_font("Arial", 'B', 12)
    pdf.cell(0, 10, title, ln=True)
    pdf.set_font("Arial", size=12)
    pdf.multi_cell(0, 10, code)
    pdf.ln(5)

# Save the PDF to a file
pdf_file_path = '/mnt/data/Pandas_Student_Result_Operations.pdf'
pdf.output(pdf_file_path)

pdf_file_path
Editor is loading...
Leave a Comment