行の最初の値に基づいて、データフレームに新しい列を追加します

David542

私はそのようなデータフレームを持っています:

>>> import pandas as pd

>>> pd.read_csv('csv/10_no_headers_with_com.csv')
                  //field  field2
0   //first field is time     NaN
1                 132605     1.0
2                 132750     2.0
3                 132772     3.0
4                 132773     4.0
5                 133065     5.0
6                 133150     6.0

最初のフィールドの最初の値がコメント文字であるかどうかを示す別のフィールドを追加したいと思い//ます。これまでのところ、私はこのようなものを持っています:

# may not have a heading value, so use the index not the key
df[0].str.startswith('//')  

この値を使用して新しい列を追加する正しい方法は何でしょうか。その結果、次のようになります。

pd>>> pd.read_csv('csv/10_no_headers_with_com.csv', header=None)
                       0       1       _starts_with_comment
0                 //field  field2       True
1  //first field is time     NaN       True
2                 132605       1       False
3                 132750       2       False
4                 132772       3       False
SpghttCd

単に新しい列に割り当てられたコマンドの問題は何ですか?:

df['comment_flag'] = df[0].str.startswith('//')

または、jppで言及されているように、実際に混合型の列がありますか?


編集:
よくわかりませんが、あなたのコメントから、コメントフラグの追加の列は本当に必要ないという印象を受けます。コメントなしでデータをデータフレームにロードしたいが、コメント付きヘッダーにいくらか隠されたフィールド名を列名として使用したい場合は、これを確認することをお勧めします。
したがって、このテキストファイルに基づいて:

//field  field2
//first field is time     NaN
132605     1.0
132750     2.0
132772     3.0
132773     4.0
133065     5.0
133150     6.0

あなたができること:

cmt = '//'

header = []
with open(textfilename, 'r') as f:
    for line in f:
        if line.startswith(cmt):
            header.append(line)
        else:                      # leave that out if collecting all comments of entire file is ok/wanted
            break
print(header)
# ['//field  field2\n', '//first field is time     NaN\n']  

このようにして、たとえば列名に使用するためにヘッダー情報を準備します。
最初のヘッダー行から名前を取得し、それをパンダのインポートに使用するのは次のようになります

nms = header[0][2:].split()
df = pd.read_csv(textfilename, comment=cmt, names=nms, sep='\s+ ', engine='python')

    field  field2                                           
0  132605     1.0                                         
1  132750     2.0                                       
2  132772     3.0                                      
3  132773     4.0                                       
4  133065     5.0                                       
5  133150     6.0                                       

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

列の複数の値に基づいてデータフレームに新しい行を作成します

分類Dev

Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

分類Dev

既存の列の値に基づいてpandasデータフレームに新しい列を追加する

分類Dev

他の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

複数の列の値に基づいてデータフレームに新しい列を追加する

分類Dev

列の1つの値に基づいて、データフレームに行を追加します

分類Dev

他の列の結果に基づいて、データフレームに新しい列を追加します

分類Dev

Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

分類Dev

パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

分類Dev

データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

分類Dev

空白行の列に基づいてデータフレームに新しい列を追加する

分類Dev

Rの条件に基づいて、データフレームに複数の新しい列を追加します

分類Dev

複数の列の値に基づいて新しいデータフレーム列を作成します

分類Dev

列名に基づいてデータフレームに行を追加し、空の列にNAを追加します

分類Dev

特定の値の行に基づいて新しいデータフレームを作成します

分類Dev

値に基づいてpysparkデータフレームに新しい行を追加します

分類Dev

他の値に基づいてデータフレームの値を行に追加します

分類Dev

groupby 値に基づいて pandas データフレームに新しい列を追加します

分類Dev

列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

分類Dev

パンダのデータフレームの別の列の値に基づいて列を追加します

分類Dev

既存の列のカテゴリ値に基づいてデータフレームに列を追加します

分類Dev

他の列の値に基づいてデータフレームに列を追加します

分類Dev

他の列の値に基づいてデータフレームに列を追加します

分類Dev

他の列の行のファイラー値に基づいて、pandasデータフレームに新しい列を作成します

分類Dev

他の列のデータフレームrの値に基づいて列を追加します

分類Dev

前の複数の行/列の値に基づいてデータフレームの行を削除します

分類Dev

新しいパンダのデータフレーム列に、行の値に基づいて他の列の名前を入力します

分類Dev

条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

分類Dev

Pythonは、別の列の条件に基づいてデータフレームに行を追加します

Related 関連記事

  1. 1

    列の複数の値に基づいてデータフレームに新しい行を作成します

  2. 2

    Pyspark:udfを使用して、別のデータフレームの値に基づいてデータフレームに新しい列を追加します

  3. 3

    既存の列の値に基づいてpandasデータフレームに新しい列を追加する

  4. 4

    他の列の値に基づいてデータフレームに新しい列を追加する

  5. 5

    複数の列の値に基づいてデータフレームに新しい列を追加する

  6. 6

    列の1つの値に基づいて、データフレームに行を追加します

  7. 7

    他の列の結果に基づいて、データフレームに新しい列を追加します

  8. 8

    Rの他のデータフレームに値が存在するかどうかに基づいて、新しい列に新しい値を追加します

  9. 9

    パンダ:別のデータフレームの値に基づいて、データフレームに新しい列を追加します

  10. 10

    データフレーム内の行を反復処理して新しい列を作成し、新しい列に基づいて列を追加します

  11. 11

    空白行の列に基づいてデータフレームに新しい列を追加する

  12. 12

    Rの条件に基づいて、データフレームに複数の新しい列を追加します

  13. 13

    複数の列の値に基づいて新しいデータフレーム列を作成します

  14. 14

    列名に基づいてデータフレームに行を追加し、空の列にNAを追加します

  15. 15

    特定の値の行に基づいて新しいデータフレームを作成します

  16. 16

    値に基づいてpysparkデータフレームに新しい行を追加します

  17. 17

    他の値に基づいてデータフレームの値を行に追加します

  18. 18

    groupby 値に基づいて pandas データフレームに新しい列を追加します

  19. 19

    列の値に基づいて既存のデータフレームに新しい行を追加するにはどうすればよいですか?

  20. 20

    パンダのデータフレームの別の列の値に基づいて列を追加します

  21. 21

    既存の列のカテゴリ値に基づいてデータフレームに列を追加します

  22. 22

    他の列の値に基づいてデータフレームに列を追加します

  23. 23

    他の列の値に基づいてデータフレームに列を追加します

  24. 24

    他の列の行のファイラー値に基づいて、pandasデータフレームに新しい列を作成します

  25. 25

    他の列のデータフレームrの値に基づいて列を追加します

  26. 26

    前の複数の行/列の値に基づいてデータフレームの行を削除します

  27. 27

    新しいパンダのデータフレーム列に、行の値に基づいて他の列の名前を入力します

  28. 28

    条件に基づいて別のデータフレームの値からデータフレームに新しい列を追加する

  29. 29

    Pythonは、別の列の条件に基づいてデータフレームに行を追加します

ホットタグ

アーカイブ