2016-06-16 19 views
1

pandasパッケージを使用して次のpythonコードを記述しました。pandasデータフレームを作成中にエラーが発生しました

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) 

私はnumpyの配列はその後、1列の値を置き換えとしていくつかの列を格納し、csvファイルを読み込むことで、データフレームを作成しようとしています。これらの配列をデータフレームとして再度マージすると、次のエラーが発生します。

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 

私を助けてください。 `new_df = pd.DataFrame [ 'PassengerId':シリーズ(PassengerId)、 '年齢':シリーズのおかげで事前に

+0

new_df = pd.DataFrame[ 'PassengerId': Series(PassengerId), 'Age': Series(Age), 'Pclass': Series(Pclass), 'Sex': Series(Sex) ] 

を交換してみてください(年齢)、 'Pclass':Series(Pclass)、 'Sex':Series(Sex) 'それは丸い括弧で囲まれています '()'さらにdictを渡す必要があります 'new_df = pd.DataFrame({ 'PassengerId' : '年齢:シリーズ(年齢)、 ' Pclass ':Series(Pclass)、 ' Sex ':Series(Sex) }) – EdChum

+0

ありがとうございました!それは完全に働いた! –

答えて

0

が、これは無効です

new_df = pd.DataFrame({ 
    'PassengerId': Series(PassengerId), 
    'Age': Series(Age), 
    'Pclass': Series(Pclass), 
    'Sex': Series(Sex) 
}) 
+0

あなたより!それは完璧に働いた! –

関連する問題