2016-08-12 8 views
2

私のインデックスを変更したいです。私のdataFrameは次の通りです:Python DataFrame:インデックスを変更すると、値がNaNに変わるのはなぜですか?

partA = pd.DataFrame({'u1': 2, 'u2': 3, 'u3':4, 'u4':29, 'u5':4, 'u6':1, 'u7':323, 'u8':9, 'u9':7, 'u10':5}, index = [20]) 

これは、すべてのセルが充填されたサイズのデータ​​フレーム(1,10)を与えます。

しかし、私はこのデータフレーム(別のデータを含む元のコードで必要)を作成し、このdataFrameのインデックスを変更すると、セルの値はすべてNaNになります。

私はreset_indexを使用してインデックスを変更することができますが、私はそれをすべて1行で実行したいと考えています。あなたがnumpy arraypartAを変換するためのvaluesを必要と私は今(NaNを結果として)、次のされなかった

partB = pd.DataFrame(partA, columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J']) 
+0

は代わりにあなたの質問を編集する新しいポストで新しい質問をしてください。 – ayhan

答えて

1

partA = pd.DataFrame({'u1': 2, 'u2': 3, 'u3':4, 'u4':29, 'u5':4, 'u6':1, 
         'u7':323, 'u8':9, 'u9':7, 'u10':5}, index = [20]) 
print (partA) 
    u1 u10 u2 u3 u4 u5 u6 u7 u8 u9 
20 2 5 3 4 29 4 1 323 9 7 

partB = pd.DataFrame(partA.values,columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J']) 
print (partB) 
    A B C D E F G H I J 
0 2 5 3 4 29 4 1 323 9 7 

partAから必要性指数の場合:

partB = pd.DataFrame(partA.values, 
        columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','J'], 
        index = partA.index) 
print (partB) 
    A B C D E F G H I J 
20 2 5 3 4 29 4 1 323 9 7 

あなたはを取得します0姓(u7)変更した場合、あなたは値を取得して、列名を合わせていないので:

partB = pd.DataFrame(partA, 
        columns = ['A', 'B', 'C', 'D','E', 'F', 'G', 'H', 'I','u7'], 
        index = partA.index) 
print (partB) 
    A B C D E F G H I u7 
20 NaN NaN NaN NaN NaN NaN NaN NaN NaN 323 
+0

ありがとう!私は上記の私のところに別の質問を加えました。 –

+0

最初の質問 - 私は空の 'DataFrame'を作成するのではなく、すべての小さなDataFramesを1つに、あるいは' concat'(http://pandas.pydata.org/ pandas-docs/stable/generated/pandas.concat.html)が役に立ちます。 – jezrael

+0

2番目の質問 - サンプルを追加できますか?しかし、私はそれが新しい質問、パンダではなく、Pythonの問題だと思うので、私は最高の新しいものを作成し、いくつかのpythonの達人が私としてあなたを助けることができると思う。 – jezrael

関連する問題