この質問は前の質問output multiple files based on column value python pandas に続いていますが、今回はもう少し行きたいです。複数の列の値に基づいて複数のファイルを出力するpandas python
はので、私は小さなサンプルデータセットを持っているこの時間は:
import pandas as pd
df = {'ID': ['H900','H901','H902','M1436','M1435','M149','M157','M213','M699','M920','M871','M789','M617','M991','H903','M730','M191'],
'CloneID': [0,1,2,2,2,2,2,2,3,3,3,4,4,4,5,5,6],
'Length': [48,42 ,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48]}
df = pd.DataFrame(df)
それは次のようになります。
df
Out[6]:
CloneID ID Length
0 0 H900 48
1 1 H901 42
2 2 H902 48
3 2 M1436 48
4 2 M1435 48
5 2 M149 48
6 2 M157 48
7 2 M213 48
8 3 M699 48
9 3 M920 48
10 3 M871 48
11 4 M789 48
12 4 M617 48
13 4 M991 48
14 5 H903 48
15 5 M730 48
16 6 M191 48
は、私は、出力の異なる出力ファイルに各「cloneID」にしたいが、この「H」で始まるIDを含むものだけを時刻にします。
ので、私の所望の出力、4出力ファイル:
最初のファイル 'cloneID0.txt'
CloneID ID Length
0 H900 48
第二のファイルは 'CloneID1.txt'
CloneID ID Length
1 H901 42
だろうだろう
3番目のファイルは「CloneID2.txt」
CloneID ID Length
2 H902 48
2 M1436 48
2 M1435 48
2 M149 48
2 M157 48
2 M213 48
第二のファイルは次のようになり 'CloneID5.txt'
CloneID ID Length
5 H903 48
5 M730 48
これらのクローンが持っていないので、それほどNO 'CloneID3.txt'、 'CloneID4.txt' と 'CloneID6.txt' はないだろう「H」で始まるID。
私のコード:
import pandas as pd
data = pd.read_csv('data.txt', sep = '\t')
gp = data.groupby('CloneID')
for g in gp.groups:
for s in data.ID:
if s.startswith("H"):
path = 'IgHCloneID' + str(g) + '.xlsx'
gp.get_group(g).to_excel(path, index=False)
それはまだ、すべてのクローンファイルを、「H」で始まるIDが含まれていないものだけを与えました。
どのように、詳しく説明してください。 IDストリングがHで始まらない各クローンIDの結果を出力します。 – PyNoob
@Jessica Revised、それがあなたに役立つかどうか教えてください。 – PyNoob