ভূমিকা
ডেটা ইঞ্জিনিয়ার হিসেবে আমি সাধারণত ডেরাইভড কলাম বেশি তৈরি করি, সারি কম। কিন্তু সবসময় তেমন হয় না। স্যাম্পল সারি তৈরি করতে হলে টেমপ্লেট ব্যবহার করা ভালো।
কীভাবে করবেন
১. 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
এখন এই ডিকশনারি টেমপ্লেট হিসেবে ব্যবহার করে সহজে নতুন সারি যোগ করা যায়।