আর [বদ্ধ] মধ্যে সদৃশ সারি ডেটা ফ্রেম সরিয়ে ফেলা হচ্ছে


71

এই উদাহরণের ডেটা ফ্রেম থেকে আমি সদৃশ সারিগুলি কীভাবে সরিয়ে ফেলব?

A   1
A   1
A   2
B   4  
B   1
B   1
C   2
C   2

আমি উভয় কলামের উপর ভিত্তি করে সদৃশগুলি মুছে ফেলতে চাই:

A   1
A   2
B   4
B   1
C   2

অর্ডার গুরুত্বপূর্ণ নয়।


টুইট
llrs

@ ললোপিস হ্যাঁ, তবে এখনই এটি করতে অনেক দেরি হয়েছে - এবং আমরা যখন এটি প্রাথমিকভাবে বন্ধ করেছিলাম তখন খুব দেরি হয়েছিল। এই ধরণের প্রশ্নটি বহু বছর আগে অন-টপিক বিবেচনা করা হত (বর্ডারলাইন) তবে আজকাল এটি দ্রুত স্থানান্তরিত হবে।
হোয়বার

উত্তর:


115

unique()প্রকৃতপক্ষে আপনার প্রশ্নের উত্তর দেয়, তবে একই পরিণতি অর্জনের জন্য আরও একটি সম্পর্কিত এবং আকর্ষণীয় ফাংশন duplicated()

এটি আপনাকে কোন সারিগুলি নকল করা হয়েছে তা সন্ধান করার সম্ভাবনা দেয়।

a <- c(rep("A", 3), rep("B", 3), rep("C",2))
b <- c(1,1,2,4,1,1,2,2)
df <-data.frame(a,b)

duplicated(df)
[1] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE

> df[duplicated(df), ]
  a b
2 A 1
6 B 1
8 C 2

> df[!duplicated(df), ]
  a b
1 A 1
3 A 2
4 B 4
5 B 1
7 C 2

2
'সদৃশ' ফাংশন উল্লেখ করার জন্য ধন্যবাদ। এটি কলামগুলির একটি উপসেটের ভিত্তিতে সদৃশ সারিগুলি মুছতে ব্যবহার করা যেতে পারে।
জোকো

51

আপনি খুঁজছেন unique()

a <- c(rep("A", 3), rep("B", 3), rep("C",2))
b <- c(1,1,2,4,1,1,2,2)
df <-data.frame(a,b)
unique(df)

> unique(df)
  a b
1 A 1
3 A 2
4 B 4
5 B 1
7 C 2

1
ধন্যবাদ বারেন্ড আমি ভাবলাম অনন্যটি কেবলমাত্র একটি নির্দিষ্ট কলামের জন্য প্রয়োগ করা যেতে পারে। আমি জানতাম না যে এটি পুরো ডেটা ফ্রেমের জন্যও ব্যবহার করা যেতে পারে। আবারও ধন্যবাদ
জান্না
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.