Ich habe den folgenden Python-Code mit dem Pandas-Paket geschrieben.TypeError beim Erstellen eines Pandas Datenrahmens
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from pandas import Series
csv = pd.read_csv('train.csv')
df_csv = pd.DataFrame(csv)
PassengerId = np.array(df_csv['PassengerId'])
Age = np.array(df_csv['Age'])
Pclass = np.array(df_csv['Pclass'])
Sex = np.array(df_csv['Sex'])
i = 0
while i < 891:
if Sex[i] == 'male':
Sex[i] = 0
i = i + 1
else:
Sex[i] = 1
i = i + 1
Sex = np.array(Sex)
new_df = pd.DataFrame[
'PassengerId': Series(PassengerId),
'Age': Series(Age),
'Pclass': Series(Pclass),
'Sex': Series(Sex)
]
print(new_df)
Ich versuche durch Lesen einer CSV-Datei, um einen Datenrahmen zu erstellen, ein paar Spalten als Array numpy speichert dann Wert von einem Array zu ersetzen. Wenn ich diese Arrays wieder als Datenrahmen zusammenführe, erhalte ich den folgenden Fehler:
D:\Projects\Titanic>python python.py
Traceback (most recent call last):
File "python.py", line 27, in <module>
'Sex': Sex
TypeError: 'type' object is not subscriptable
Bitte helfen Sie mir. Vielen Dank im Voraus
dies ist ungültig ersetzt: 'new_df = pd.DataFrame [ 'PassengerId': Serie (PassengerId), 'Alter': Serie (Alter), 'Pclass': Serie (Pclass), 'Sex': Serie (Sex) ] 'es sollte runde Klammer sein'() 'zusätzlich sollten Sie ein Dict' new_df = pd.DataFrame ({ "PassagierID" : Serie (PassengerId), 'Alter': Serie (Alter), 'Pclass': Serie (Pclass), 'Sex': Serie (Geschlecht) }) ' – EdChum
Vielen Dank! Es hat perfekt funktioniert !!! –