私はCSVファイルをインポートしようとしていますが、このファイルにはBachelor's
とMaster's
という2つの列があります。学生レベル(学士号または修士号)と専攻(例:ビジネス)の両方を表す文字列に、それぞれのメジャーを割り当てたいと思います。周波数分布 - Python - CSVからのインポート
このCSVファイルは、形式で書かれている:
Bachelor's Master's
SBS O
H O
H 0
H O
... ...
これは、2つの別々の列から作られています。 は、私が使用している次のコードを持っている:
Major_Proper = ['Business', 'Computer Sciences and
Engineering','Education','Humanities','Natural Sciences and
Mathematics','Other']
Degree = {"Bachelor's":['B','CSE','E','H','NSM','O'],"Master's":['B','CSE','E','H','NSM','O']}
Major = ['B','CSE','E','H','NSM','O']
b_b = m_b = []
b_cse = m_cse = []
b_e = m_e = []
b_nsm = m_nsm = []
b_sbs = n_nsm = []
b_o = m_o = []
bach = []
mast = []
with open('Majors.csv') as f:
data = f.read().replace('\n',"")
df = pd.read_csv('Majors.csv', header=None, names=["Bachelor's", "Master's"])
for x in range(0,len(bach)):
if x == Major[0]:
b_b.append(x)
if x == Major[1]:
b_cse.append(x)
if x == Major[2]:
b_e.append(x)
if x == Major[3]:
b_nsm.append(x)
if x == Major[4]:
b_sbs.append(x)
if x == Major[5]:
b_o.append(x)
for x in range(0,len(mast)):
if x == Major[0]:
m_b.append(x)
if x == Major[1]:
m_cse.append(x)
if x == Major[2]:
m_e.append(x)
if x == Major[3]:
m_nsm.append(x)
if x == Major[4]:
m_sbs.append(x)
if x == Major[5]:
m_o.append(x)
print(df)
print(len(bach),len(mast))
私の推測では、しかし、以下に見られるようなデータは、一つの長い行を吐き出していることである。
Bachelor's Master's
Bachelor's Master's NaN NaN NaN
SBS O NaN NaN NaN
H O NaN NaN NaN
B NaN NaN NaN
O NaN NaN NaN
...
[101行×2列]
行。
ご覧のとおり、一部の値はスキップされています。そして3つの他のコラムが作られました。
また、最初の行がヘッダーであったため、わずか100行にする必要があります。 bach
(学士)とmast
(修士)の両方の長さは100でなく2でなければなりません。
助けを喜んでいただきました。