Ich versuche, eine CSV-Datei zu importieren, diese Datei hat zwei Spalten: Bachelor's
und Master's
. Ich möchte die Majors, die für jeden sind, einer Zeichenfolge zuordnen, die sowohl die Studentenebene (Bachelor oder Master) als auch die Hauptgruppe (z. B. Business) darstellt.Häufigkeitsverteilung - Python - Importieren von CSV
Diese CSV-Datei wird in der Form geschrieben:
Bachelor's Master's
SBS O
H O
H 0
H O
... ...
Dies aus zwei getrennten Spalten erfolgt. Ich habe den folgenden Code, den ich verwendet haben:
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))
Meine Vermutung ist aber, dass die Daten eine spucken lange Schlange aus, wie unten zu sehen:
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 Zeilen x 2 Spalten]
Zeilen.
Wie Sie sehen können, wurden einige Werte übersprungen. Und drei andere Spalten wurden gemacht.
Ebenso sollte es nur 100 Zeilen geben, da die erste Zeile der Header war. Und die Länge von bach
(Bachelor) und mast
(Master) sollte sowohl 100, nicht 2 sein.
Jede Hilfe wird sehr geschätzt.