仕事でパンダの魔法。すべてのロジックがアウトです。
エラーメッセージ"ValueError: If using all scalar values, you must pass an index"
は、インデックスを渡す必要があると言います。
これは必ずしもインデックスを渡すことがパンダにあなたがやりたいことをさせるという意味ではありません
インデックスを渡すと、パンダはディクショナリキーを列名として扱い、値はインデックス内の各値の列に含まれるものとして扱います。
a = 2
b = 3
df2 = pd.DataFrame({'A':a,'B':b}, index=[1])
A B
1 2 3
より大きなインデックスを渡す:
df2 = pd.DataFrame({'A':a,'B':b}, index=[1, 2, 3, 4])
A B
1 2 3
2 2 3
3 2 3
4 2 3
インデックスは通常、何も指定されていないときにデータフレームによって自動的に生成されます。しかし、パンダは、どのように多くの行の知らない2
と3
したいです。しかし、あなたはそれについてより明確にすることができます
df2 = pd.DataFrame({'A':[a]*4,'B':[b]*4})
df2
A B
0 2 3
1 2 3
2 2 3
3 2 3
ただし、デフォルトのインデックスは0ベースです。
データフレームを作成するときは、常にリストの辞書をデータフレームコンストラクターに渡すことをお勧めします。他の開発者にとっては読みやすいです。パンダには多くの注意事項があります。他の開発者がコードを読むためにそれらすべての専門家に依頼する必要はありません。