একটি পান্ডাস ডেটা ফ্রেমে শিরোনাম সারি কীভাবে যুক্ত করবেন


165

আমি একটি সিএসভি ফাইল পড়ছি pandas। এই সিএসভি ফাইলটিতে চারটি কলাম এবং কয়েকটি সারি রয়েছে, তবে এতে একটি শিরোনাম সারি নেই, যা আমি যুক্ত করতে চাই। আমি নিম্নলিখিত চেষ্টা করা হয়েছে:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame([Cov], columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')

তবে আমি কোডটি প্রয়োগ করার সময়, আমি নিম্নলিখিত ত্রুটিটি পাই:

ValueError: Shape of passed values is (1, 1), indices imply (4, 1)

ত্রুটিটির অর্থ কী? এবং আমার সিএসভি ফাইল / প্যান্ডাস ডিএফ-তে একটি শিরোনাম সারি যুক্ত করার জন্য অজগর থেকে পরিষ্কার উপায় কী হতে পারে?


আপনার প্রশ্নের আলাদা ব্যাখ্যা এখানে রয়েছে: একটি মাল্টিআইডেক্স তৈরি করতে একটি বিদ্যমান ডাটাফ্রেমে অন্য শিরোনাম যুক্ত করুন।
CS95

উত্তর:


257

আপনি namesসরাসরি ব্যবহার করতে পারেনread_csv

নাম: অ্যারের মতো, ডিফল্ট কিছুই নেই কলামের নাম ব্যবহারের জন্য তালিকা। যদি ফাইলটিতে শিরোনামের সারি না থাকে তবে আপনার স্পষ্টতই হেডার = কোনওটিই পাস করা উচিত

Cov = pd.read_csv("path/to/file.txt", 
                  sep='\t', 
                  names=["Sequence", "Start", "End", "Coverage"])

9
তুমি হাসবে. আমি আসলে এটি চেষ্টা করেছিলাম, তবে অজানা ছিলাম যে আপনাকে নামের চারপাশে বর্গাকার বন্ধনী লাগাতে হবে। যা যৌক্তিকভাবে পূর্ববর্তী ক্ষেত্রে রয়েছে। ধন্যবাদ!
ধারাবাহিক_হর্ত

কোনও উদ্বেগ নেই, আমরা সকলেই এই নির্বোধ ভুলগুলি করেছি। আমিও তাদের জন্য দোষী।
লেব

@ লেবে, আমারও ঠিক একই সমস্যা ছিল এবং আমি আপনার সমাধানটি চেষ্টা করেছিলাম। আমি টেবিলের জন্য শিরোনাম পেয়েছি কিন্তু প্রথম সারিতে একই শিরোনামের নামও প্রতিস্থাপন করা হয়েছিল। এখন কি করলাম?
007mrviper

এটি আমার ডেটাতে আরও সংঘাত যুক্ত করে, সমস্ত NaNবৈশিষ্ট্যের সাথে। কারণ আমার বিভাজক একটি খালি জায়গা।
সালাহএডডিন

127

বিকল্পভাবে আপনি সিএসভি দিয়ে পড়তে পারেন header=Noneএবং তারপরে এটি যুক্ত করতে পারেন df.columns:

Cov = pd.read_csv("path/to/file.txt", sep='\t', header=None)
Cov.columns = ["Sequence", "Start", "End", "Coverage"]

15
col_Names=["Sequence", "Start", "End", "Coverage"]
my_CSV_File= pd.read_csv("yourCSVFile.csv",names=col_Names)

এটি সম্পন্ন করার পরে, এটির সাথে পরীক্ষা করুন [ভাল স্পষ্টতই আমি জানি, আপনি এটি জানেন। কিন্তু এখনো...

my_CSV_File.head()

আশা করি এটি সাহায্য করবে ... চিয়ার্স


{}বোতামটি দিয়ে আপনার কোডটি ফর্ম্যাট করুন । ইনডেন্টেশন বিষয়।
মিঃ টি

7

আপনার কোড আপনি কেবল পরিবর্তন করতে পারেন ঠিক করতে [Cov]করতে Cov.values, এর প্রথম প্যারামিটার pd.DataFrameএকটি মাল্টি-মাত্রিক হয়ে যাবে numpyঅ্যারের:

Cov = pd.read_csv("path/to/file.txt", sep='\t')
Frame=pd.DataFrame(Cov.values, columns = ["Sequence", "Start", "End", "Coverage"])
Frame.to_csv("path/to/file.txt", sep='\t')

তবে বুদ্ধিমান সমাধানটি এখনও এবং এর pd.read_excelসাথে ব্যবহার করা ।header=Nonenames=columns_list


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