単一行のtsvファイルを複数行のtsvファイルに変換する

学習プログラミング

単一行のtsvファイルがあります。

例えば:

onset   duration    stimulus    16.100000   3.000000    tasteless   26.700000   3.000000.1  control 31.700000   ... 150.6   729.900000  3.000000.60 rinse.26    745.600000  3.000000.61 112.5cal.6  751.600000  3.000000.62 rinse.27

0 rows × 192 columns

私がやろうとしているのは、3つおきの要素の後に、改行文字を次の行に追加して、上記のデータフレームが次のようになるようにすることです。

onset   duration    stimulus
16.100000   3.000000    tasteless
26.700000   3.000000    control
31.700000   3.000000    rinse
48.400000   3.000000    tasteless
60.000000   3.000000    tasteless
76.600000   3.000000    tasteless
91.300000   3.000000    tasteless
103.900000  3.000000    0cal
111.900000  3.000000    rinse
127.600000  3.000000    0cal
131.600000  3.000000    rinse
150.2000

私は試した

"\n".join(["\t".join(df[i:i+3]) for i in range(0,len(df),3)])

しかし、助けにはなりません。また、dtaframeをテキストに変換し、3つおきにを置き換えてみ\tました\n

パンダを使ってそれを行うことはできますか?

cs95

tsvを読み込み、値の形状を変更してから、新しいデータフレームを作成できます。

In [428]: df = pd.read_csv('test.tsv', header=None, delim_whitespace=True); df.values
Out[428]: 
array([['onset', 'duration', 'stimulus', 16.1, 3.0, 'tasteless', 26.7,
        '3.000000.1', 'control', 31.7, '...', 150.6, 729.9, '3.000000.60',
        'rinse.26', 745.6, '3.000000.61', '112.5cal.6', 751.6,
        '3.000000.62', 'rinse.27']], dtype=object)

In [434]: cols = df.values.reshape(-1, 3)

In [435]: df = pd.DataFrame(cols[1:], columns=cols[0]); df
Out[435]: 
   onset     duration    stimulus
0   16.1            3   tasteless
1   26.7   3.000000.1     control
2   31.7          ...       150.6
3  729.9  3.000000.60    rinse.26
4  745.6  3.000000.61  112.5cal.6
5  751.6  3.000000.62    rinse.27

この後、tsvへの書き戻しは簡単です。

In [440]: df.to_csv('out.tsv', sep='\t')

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonで複数行のINIファイルを単一行のINIファイルに変換する方法は?

分類Dev

ファイル内の複数行を単一行に変換すると、二重引用符が失われます

分類Dev

行番号付きの複数列のtsvファイルをPythonで読み取る

分類Dev

multi-fastaファイルを単一行シーケンスのセットに変換する

分類Dev

巨大な単一行のjsonファイルを開かずに複数行のファイルに変換するにはどうすればよいですか?

分類Dev

複数のCSVファイルから新しいファイルに単一の行を抽出する方法

分類Dev

awkを使用してtsvファイルの行を合計する方法は?

分類Dev

複数行の変数をファイルbashに追加する

分類Dev

テキストファイルから単一行と複数行の値を取得する

分類Dev

TSVファイルの操作

分類Dev

TSVファイルからJSONファイルに変換する方法は?

分類Dev

CSVファイルを複数行のJSONに変換する方法

分類Dev

TSVファイルは文字列を数値に変換します

分類Dev

tsvファイルの値に基づいてファイルの名前を変更する

分類Dev

TSV / CSVファイルのループは実行後に停止します

分類Dev

.tsvファイルの読み取り中に代替行をスキップする

分類Dev

複数のtsv / csvファイルからヘッダーを取得します

分類Dev

xsi:nil = "true"の削除とXMLファイルの分割に単一のXSLT-複数の変換を使用する

分類Dev

フラットJSONを列ヘッダー付きのTSVファイルに変換します

分類Dev

tsvファイルのn行目にある一致のawk(大きい、不明なn)

分類Dev

複数ページのPDFを単一のHTMLファイルに変換する方法

分類Dev

tsvファイルから最初の列を抽出する方法は?

分類Dev

複数のネストされたファイルを単一のファイルに変換する(それらを連結する)

分類Dev

2列目の区切り文字に応じてCSVファイルの単一行を複数に分割する方法

分類Dev

複数のExcelファイルを1つに変換する

分類Dev

Makefile:複数の.dotファイルを.pngに変換する

分類Dev

複数のYAMLファイルをCSVに変換する

分類Dev

複数のフォルダ内のPDFファイルをフォルダ名と一致する複数のPDFファイルに変換する方法

分類Dev

bash内の複数のtsvファイルから選択した列を結合する

Related 関連記事

  1. 1

    Pythonで複数行のINIファイルを単一行のINIファイルに変換する方法は?

  2. 2

    ファイル内の複数行を単一行に変換すると、二重引用符が失われます

  3. 3

    行番号付きの複数列のtsvファイルをPythonで読み取る

  4. 4

    multi-fastaファイルを単一行シーケンスのセットに変換する

  5. 5

    巨大な単一行のjsonファイルを開かずに複数行のファイルに変換するにはどうすればよいですか?

  6. 6

    複数のCSVファイルから新しいファイルに単一の行を抽出する方法

  7. 7

    awkを使用してtsvファイルの行を合計する方法は?

  8. 8

    複数行の変数をファイルbashに追加する

  9. 9

    テキストファイルから単一行と複数行の値を取得する

  10. 10

    TSVファイルの操作

  11. 11

    TSVファイルからJSONファイルに変換する方法は?

  12. 12

    CSVファイルを複数行のJSONに変換する方法

  13. 13

    TSVファイルは文字列を数値に変換します

  14. 14

    tsvファイルの値に基づいてファイルの名前を変更する

  15. 15

    TSV / CSVファイルのループは実行後に停止します

  16. 16

    .tsvファイルの読み取り中に代替行をスキップする

  17. 17

    複数のtsv / csvファイルからヘッダーを取得します

  18. 18

    xsi:nil = "true"の削除とXMLファイルの分割に単一のXSLT-複数の変換を使用する

  19. 19

    フラットJSONを列ヘッダー付きのTSVファイルに変換します

  20. 20

    tsvファイルのn行目にある一致のawk(大きい、不明なn)

  21. 21

    複数ページのPDFを単一のHTMLファイルに変換する方法

  22. 22

    tsvファイルから最初の列を抽出する方法は?

  23. 23

    複数のネストされたファイルを単一のファイルに変換する(それらを連結する)

  24. 24

    2列目の区切り文字に応じてCSVファイルの単一行を複数に分割する方法

  25. 25

    複数のExcelファイルを1つに変換する

  26. 26

    Makefile:複数の.dotファイルを.pngに変換する

  27. 27

    複数のYAMLファイルをCSVに変換する

  28. 28

    複数のフォルダ内のPDFファイルをフォルダ名と一致する複数のPDFファイルに変換する方法

  29. 29

    bash内の複数のtsvファイルから選択した列を結合する

ホットタグ

アーカイブ