আমার কাছে একটি সিএসভি ফাইল রয়েছে যা pandas.read_csv
আমি যখন usecols
একাধিক সূচী সহ কলামগুলি ফিল্টার করি এবং সঠিকভাবে আসে না ।
import pandas as pd
csv = r"""dummy,date,loc,x
bar,20090101,a,1
bar,20090102,a,3
bar,20090103,a,5
bar,20090101,b,1
bar,20090102,b,3
bar,20090103,b,5"""
f = open('foo.csv', 'w')
f.write(csv)
f.close()
df1 = pd.read_csv('foo.csv',
header=0,
names=["dummy", "date", "loc", "x"],
index_col=["date", "loc"],
usecols=["dummy", "date", "loc", "x"],
parse_dates=["date"])
print df1
# Ignore the dummy columns
df2 = pd.read_csv('foo.csv',
index_col=["date", "loc"],
usecols=["date", "loc", "x"], # <----------- Changed
parse_dates=["date"],
header=0,
names=["dummy", "date", "loc", "x"])
print df2
আমি আশা করি যে অনুপস্থিত ডামি কলাম বাদে df1 এবং df2 একই হওয়া উচিত, তবে কলামগুলি ভুল লেবেলে আসে in এছাড়াও তারিখটি তারিখ হিসাবে বিশ্লেষণ করা হচ্ছে।
In [118]: %run test.py
dummy x
date loc
2009-01-01 a bar 1
2009-01-02 a bar 3
2009-01-03 a bar 5
2009-01-01 b bar 1
2009-01-02 b bar 3
2009-01-03 b bar 5
date
date loc
a 1 20090101
3 20090102
5 20090103
b 1 20090101
3 20090102
5 20090103
নামের পরিবর্তে কলাম নম্বর ব্যবহার করা আমাকে একই সমস্যা দেয়। আমি রিড_সিএসভি পদক্ষেপের পরে ডামি কলামটি ফেলে সমস্যার সমাধান করতে পারি, তবে আমি কী ভুল হচ্ছে তা বোঝার চেষ্টা করছি। আমি পান্ডাস ব্যবহার করছি 0.10.1।
সম্পাদনা করুন: খারাপ হেডার ব্যবহার স্থির।
header
এবংnames
কীওয়ার্ড সঠিক নয় (যে কেন প্রথম সারিতে আপনার উদাহরণে অনুপস্থিত।header
হেডার সঙ্গে সারি হিসাবে কোন int (ডিফল্ট 0) প্রত্যাশা করে। কারণ আপনি 'সত্য' দিতে যা 1 হিসেবে ব্যাখ্যা করা হয়, দ্বিতীয় সারি (প্রথম ডেটা সারি) শিরোনাম হিসাবে ব্যবহৃত হয় এবং অনুপস্থিত। তবে কলামের নামগুলি সঠিক কারণ আপনি এটিnames
যুক্তির সাহায্যে ওভাররাইট করেন But তবে আপনি উভয়ই রাখতে পারেন এবং প্রথম সারিটি ডিফল্টরূপে কলামের নামের জন্য ব্যবহৃত হয়। তবে এটি আপনার প্রাথমিক প্রশ্নের সমাধান করে না