কম্পিউটার টিউটোরিয়াল

পাইথন পান্ডাসে টেমপ্লেট ব্যবহার করে DataFrame-এ নতুন সারি যোগ করা

ভূমিকা

ডেটা ইঞ্জিনিয়ার হিসেবে আমি সাধারণত ডেরাইভড কলাম বেশি তৈরি করি, সারি কম। কিন্তু সবসময় তেমন হয় না। স্যাম্পল সারি তৈরি করতে হলে টেমপ্লেট ব্যবহার করা ভালো।

কীভাবে করবেন

১. DataFrame তৈরি


import pandas as pd
import numpy as np
players_info = pd.DataFrame(data=[
    {"players": "Roger Federer", "titles": 20},
    {"players": "Rafael Nadal", "titles": 20},
    {"players": "Novak Djokovic", "titles": 17},
    {"players": "Andy Murray", "titles": 3}
], columns=["players", "titles"])

২. .loc অ্যাট্রিবিউট দিয়ে সারি যোগ

.loc ইন-প্লেস পরিবর্তন করে।


new_Player = ['Dominic Theim', 1]
players_info.loc[4] = new_Player

new_player = {'players': 'Daniel Medvedev', 'titles': 0}
players_info.loc[len(players_info)] = new_player

players_info.loc[len(players_info)] = pd.Series({'players': 'Andy Zverev', 'titles': 0})

৩. .append মেথড (নতুন কপি ফেরত দেয়)

প্রথম আর্গুমেন্ট DataFrame, Series, dict বা লিস্ট হতে পারে।


players_info = pd.DataFrame(..., index=["roger", "nadal", "djokovic", "murray"])
new_df = players_info.append({'players': 'Daniel Medvedev', 'titles': 0}, ignore_index=True)

ignore_index=True না দিলে TypeError আসে। এটি পুরনো ইনডেক্স বাদ দিয়ে নতুন RangeIndex বানায়।

৪. একসাথে একাধিক সারি যোগ


player1 = pd.Series({'players': 'Andy Zverev', 'titles': 0}, name='zverev')
player2 = pd.Series({'players': 'Dominic Theim', 'titles': 1}, name='theim')
new_df_1 = players_info.append([player1, player2])

৫. অনেক কলামের DataFrame-এ টেমপ্লেট ব্যবহার

১২ কলামের movies ডেটাসেটে ম্যানুয়ালি সারি যোগ করলে ভুল হয়। টেমপ্লেট বানান:


df = pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv")
columns_dictionary = df.iloc[0].to_dict()
# আউটপুট: {'budget': 237000000, 'id': 19995, 'original_language': 'en', ...}

# পুরনো মান ক্লিয়ার করে টেমপ্লেট বানান
import datetime
new_data_dict = {}
for a, b in columns_dictionary.items():
    if isinstance(b, str):
        new_data_dict[a] = np.random.choice(list('abcde'))
    elif isinstance(b, datetime.date):
        new_data_dict[a] = np.nan
    else:
        new_data_dict[a] = np.nan

এখন এই ডিকশনারি টেমপ্লেট হিসেবে ব্যবহার করে সহজে নতুন সারি যোগ করা যায়।

  1. পাইথনে পান্ডাস ডেটাফ্রেম CSV ফাইলে লেখার পদ্ধতি

  2. পান্ডাস ডেটাফ্রেম থেকে নাল সারি ড্রপ করা (dropna)

  3. Matplotlib-এ Pandas DataFrame-এর নির্দিষ্ট রো প্লট করার পদ্ধতি

  4. Python-এ ম্যাট্রিক্স ট্রান্সপোজ করার পদ্ধতি