Panda

Mon 30 June 2025
import pandas as pd
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]})
print(df)
      Name  Age
0    Alice   25
1      Bob   30
2  Charlie   35
df['Name_Upper'] = df['Name'].str.upper()  # Now works because 'Name' exists
print(df)
      Name  Age Name_Upper
0    Alice   25      ALICE
1      Bob   30        BOB
2  Charlie   35    CHARLIE
df['Age_Next_Year'] = df['Age'] + 1
print(df)
      Name  Age Name_Upper  Age_Next_Year
0    Alice   25      ALICE             26
1      Bob   30        BOB             31
2  Charlie   35    CHARLIE             36
young_people = df[df['Age'] < 30]
print(young_people)
    Name  Age Name_Upper  Age_Next_Year
0  Alice   25      ALICE             26
print(df.sort_values('Age', ascending=False))
      Name  Age Name_Upper  Age_Next_Year
2  Charlie   35    CHARLIE             36
1      Bob   30        BOB             31
0    Alice   25      ALICE             26
# Adding a department column for grouping
df['Dept'] = ['HR', 'IT', 'HR']
print(df.groupby('Dept')['Age'].mean())
Dept
HR    30.0
IT    30.0
Name: Age, dtype: float64
df['Age_Squared'] = df['Age'].apply(lambda x: x**2)
print(df)
      Name  Age Name_Upper  Age_Next_Year Dept  Age_Squared
0    Alice   25      ALICE             26   HR          625
1      Bob   30        BOB             31   IT          900
2  Charlie   35    CHARLIE             36   HR         1225
df = df.rename(columns={'Name': 'Full_Name'})
print(df)
  Full_Name  Age Name_Upper  Age_Next_Year Dept  Age_Squared
0     Alice   25      ALICE             26   HR          625
1       Bob   30        BOB             31   IT          900
2   Charlie   35    CHARLIE             36   HR         1225
df = df.drop(columns=['Age_Squared'])
print(df)
  Full_Name  Age Name_Upper  Age_Next_Year Dept
0     Alice   25      ALICE             26   HR
1       Bob   30        BOB             31   IT
2   Charlie   35    CHARLIE             36   HR
filtered = df[df['Age'] > 28].reset_index(drop=True)
print(filtered)
  Full_Name  Age Name_Upper  Age_Next_Year Dept
0       Bob   30        BOB             31   IT
1   Charlie   35    CHARLIE             36   HR
print(df.sample(2))  # Random 2 rows
  Full_Name  Age Name_Upper  Age_Next_Year Dept
2   Charlie   35    CHARLIE             36   HR
1       Bob   30        BOB             31   IT
print(df['Dept'].value_counts())
Dept
HR    2
IT    1
Name: count, dtype: int64
mask = (df['Age'] > 25) & (df['Dept'] == 'HR')
print(df[mask])
  Full_Name  Age Name_Upper  Age_Next_Year Dept
2   Charlie   35    CHARLIE             36   HR
df['Join_Date'] = pd.to_datetime(['2022-01-01', '2021-05-15', '2023-03-10'])
df['Join_Year'] = df['Join_Date'].dt.year
print(df)
  Full_Name  Age Name_Upper  Age_Next_Year Dept  Join_Date  Join_Year
0     Alice   25      ALICE             26   HR 2022-01-01       2022
1       Bob   30        BOB             31   IT 2021-05-15       2021
2   Charlie   35    CHARLIE             36   HR 2023-03-10       2023
print(df.memory_usage())
Index            132
Full_Name         24
Age               24
Name_Upper        24
Age_Next_Year     24
Dept              24
Join_Date         24
Join_Year         12
dtype: int64


Score: 15

Category: basics