Pandas df.itertuplesは、印刷時にデータフレーム列の名前を変更します

user7786493

通常、パンダのitertuples()は、列名を含むそれぞれの値を次のように返すことを知っています。

ab=pd.DataFrame(np.random.random([3,3]),columns=['hi','low','med'])
for i in ab.itertuples():
    print(i)

出力は次のとおりです。

Pandas(Index=0, hi=0.05421443, low=0.2456833, med=0.491185)
Pandas(Index=1, hi=0.28670429, low=0.5828551, med=0.279305)
Pandas(Index=2, hi=0.53869406, low=0.3427290, med=0.750075)

ただし、次のような別のコードセットで期待したように、列が表示されない理由がわかりません。

            us qqq equity  us spy equity
date                                    
2017-06-19            0.0            1.0
2017-06-20            0.0           -1.0
2017-06-21            0.0            0.0
2017-06-22            0.0            0.0
2017-06-23            1.0            0.0
2017-06-26            0.0            0.0
2017-06-27           -1.0            0.0
2017-06-28            1.0            0.0
2017-06-29           -1.0            0.0
2017-06-30            0.0            0.0

上記は、タイムスタンプをインデックス、float64をリストの値、文字列['us qqq equity'、 'us spyequity']のリストを列として持つPandasデータフレームです。

私がこれをするとき:

for row in data.itertuples():
    print (row)

次のように、列が_1および_2として表示されます。

Pandas(Index=Timestamp('2017-06-19 00:00:00'), _1=0.0, _2=1.0)
Pandas(Index=Timestamp('2017-06-20 00:00:00'), _1=0.0, _2=-1.0)
Pandas(Index=Timestamp('2017-06-21 00:00:00'), _1=0.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-22 00:00:00'), _1=0.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-23 00:00:00'), _1=1.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-26 00:00:00'), _1=0.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-27 00:00:00'), _1=-1.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-28 00:00:00'), _1=1.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-29 00:00:00'), _1=-1.0, _2=0.0)
Pandas(Index=Timestamp('2017-06-30 00:00:00'), _1=0.0, _2=0.0)

誰かが私が間違ったことについて何か手がかりを持っていますか?元のデータフレームを作成するときの変数参照の問題と関係がありますか?(また、副次的な質問として、itertuples()から生成されたデータの型はタプルでなければならないことをコミュニティから学びましたが、(上記のように)戻り値の型はtypeステートメントから確認したとおりですか?)

私はまだDataFrameのアプリケーションをマスターしようとしていますので、今しばらくお待ちいただきますようお願いいたします。

cs95

これは、スペースを含む列名の処理に関する問題のようです。列名をスペースのない別の列名に置き換えると、次のように機能します。

df.columns = ['us_qqq_equity', 'us_spy_equity'] 
# df.columns = df.columns.str.replace(r'\s+', '_')  # Courtesy @MaxU  
for r in df.head().itertuples():
    print(r)

# Pandas(Index='2017-06-19', us_qqq_equity=0.0, us_spy_equity=1.0)
# Pandas(Index='2017-06-20', us_qqq_equity=0.0, us_spy_equity=-1.0)
# ...

スペースを含む列名は、名前付きタプルで効果的に表すことができないため、印刷時に自動的に名前が変更されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

pandasデータフレーム列を1つのdfで複数の列に分割します

分類Dev

python pandas:データフレームをdf.applyに渡します

分類Dev

列インデックスを繰り返すことにより、同じ名前のdf列の名前を変更します-pandas

分類Dev

df.iterrows()の使用中に、pandasデータフレームの行を削除します

分類Dev

yamlファイルを使用してPandasデータフレーム列の名前を変更します

分類Dev

重複する列名を持つPandasデータフレームの列の名前を変更しますか?

分類Dev

pandasデータフレームの列の名前を変更する関数を作成しています

分類Dev

Pandasデータフレームの列の名前を変更し、タイプを変更する

分類Dev

Pandasデータフレームリストの列の名前を別の名前に変更する方法

分類Dev

pandasデータフレームの名前のシーケンスの名前を変更します

分類Dev

pandasデータフレームでgroupbyおよびsumした後に列の名前を変更する

分類Dev

pandasデータフレーム列の名前を別のデータフレームに変更するにはどうすればよいですか?

分類Dev

pandas-同じ列名を持つ2つのデータフレームの列をマージして一意に名前を変更します

分類Dev

pandasデータフレーム:len(df)がdf.iterrows()の反復回数と等しくありません

分類Dev

ix を使用して pandas データフレームの特定の範囲の列の名前を変更することはできません

分類Dev

pandasデータフレームの列を分割または名前変更できません

分類Dev

Pandasデータフレームを辞書に変換すると、列ヘッダーの名前がスペースに変更されます

分類Dev

データ フレームのリストを、追加の列に df 名を持つ 1 つのデータ フレームに変換します。

分類Dev

ディクショナリからの値を使用して、Pandasデータフレームの列の名前を変更します

分類Dev

pandasデータフレームの日時の値を変更します

分類Dev

pandas データフレームのメソッド df.column.str.replace(' ','_') はどのように機能しますか?

分類Dev

pandasデータフレームのインデックスの上にある列番号0の名前を変更するには

分類Dev

pandasデータフレームを反復処理し、ifステートメントを使用して各列の値を確認し、空のdfの優先列に列の値を渡します。

分類Dev

python pandas:マルチインデックスデータフレームの単一列ラベルの名前を変更します

分類Dev

pandasデータフレーム列の文字列値を変更します

分類Dev

リストの名前をデータフレームの列としてdfに追加する方法

分類Dev

pandasデータフレームをグループ化して名前を変更します

分類Dev

他のデータ フレームを使用した pandas の列の名前変更

分類Dev

Python Pandasはデータフレームを連結し、インデックスの名前を変更します

Related 関連記事

  1. 1

    pandasデータフレーム列を1つのdfで複数の列に分割します

  2. 2

    python pandas:データフレームをdf.applyに渡します

  3. 3

    列インデックスを繰り返すことにより、同じ名前のdf列の名前を変更します-pandas

  4. 4

    df.iterrows()の使用中に、pandasデータフレームの行を削除します

  5. 5

    yamlファイルを使用してPandasデータフレーム列の名前を変更します

  6. 6

    重複する列名を持つPandasデータフレームの列の名前を変更しますか?

  7. 7

    pandasデータフレームの列の名前を変更する関数を作成しています

  8. 8

    Pandasデータフレームの列の名前を変更し、タイプを変更する

  9. 9

    Pandasデータフレームリストの列の名前を別の名前に変更する方法

  10. 10

    pandasデータフレームの名前のシーケンスの名前を変更します

  11. 11

    pandasデータフレームでgroupbyおよびsumした後に列の名前を変更する

  12. 12

    pandasデータフレーム列の名前を別のデータフレームに変更するにはどうすればよいですか?

  13. 13

    pandas-同じ列名を持つ2つのデータフレームの列をマージして一意に名前を変更します

  14. 14

    pandasデータフレーム:len(df)がdf.iterrows()の反復回数と等しくありません

  15. 15

    ix を使用して pandas データフレームの特定の範囲の列の名前を変更することはできません

  16. 16

    pandasデータフレームの列を分割または名前変更できません

  17. 17

    Pandasデータフレームを辞書に変換すると、列ヘッダーの名前がスペースに変更されます

  18. 18

    データ フレームのリストを、追加の列に df 名を持つ 1 つのデータ フレームに変換します。

  19. 19

    ディクショナリからの値を使用して、Pandasデータフレームの列の名前を変更します

  20. 20

    pandasデータフレームの日時の値を変更します

  21. 21

    pandas データフレームのメソッド df.column.str.replace(' ','_') はどのように機能しますか?

  22. 22

    pandasデータフレームのインデックスの上にある列番号0の名前を変更するには

  23. 23

    pandasデータフレームを反復処理し、ifステートメントを使用して各列の値を確認し、空のdfの優先列に列の値を渡します。

  24. 24

    python pandas:マルチインデックスデータフレームの単一列ラベルの名前を変更します

  25. 25

    pandasデータフレーム列の文字列値を変更します

  26. 26

    リストの名前をデータフレームの列としてdfに追加する方法

  27. 27

    pandasデータフレームをグループ化して名前を変更します

  28. 28

    他のデータ フレームを使用した pandas の列の名前変更

  29. 29

    Python Pandasはデータフレームを連結し、インデックスの名前を変更します

ホットタグ

アーカイブ