Verwenden Sie pandas.read_csv
, um Ihre Daten zu laden, müssen Sie möglicherweise sep='\t'
für die Tab-Trennblätter festlegen. Sobald Sie Ihre zwei Datenrahmen geladen haben, können Sie oder pandas.merge
verwenden. Für eine gute Referenz siehe Merge, join, and concatenate in der Pandas-Dokumentation.
Lassen Sie uns sagen, dass Ihre zwei tsv‘wie folgt aussehen:
file1:
SampleID RawReads
1 18
2 15
5 21
7 7
file2:
SampleID ReadsPost
1 yes
3 no
4 yes
5 yes
Merge Mit
Merge kann verwendet werden, zu implementieren, Datenbankstil verbindet sich auf zwei DataFrames. In unserem Fall können wir sehen, dass die beiden DataFrames in der Spalte SampleID nicht übereinstimmen. Wenn wir sicherstellen wollen, dass wir alle Daten aus beiden Frames erhalten, würden wir einen outer
Join verwenden. Wenn wir nur Daten von dem einen oder anderen benötigen, könnten wir einen right
oder left
Join verwenden, abhängig davon, was wir behalten wollten. Hier ist ein Beispiel, um alles zu behalten.
df1 = pd.read_csv(file1, sep='\t')
df2 = pd.read_csv(file2, sep='\t')
merge_df = pd.merge(df1, df2, how='outer', on='SampleID')
print(merge_df)
SampleID RawReads ReadsPost
0 1 18.0 yes
1 2 15.0 NaN
2 5 21.0 yes
3 7 7.0 NaN
4 3 NaN no
5 4 NaN yes
Mit Concat
Concat kann entweder der Zeilen- oder Spaltenachse entlang erstrecken Datenrahmen verwendet werden. Lassen Sie uns sagen, SampleID war Ihr Index und Sie wollten nur die Werte in Datei2 zu Datei1 entlang der Spaltenachse verketten. Zum Beispiel:
df1 = pd.read_csv(file1, sep='\t', index_col='SampleID')
df2 = pd.read_csv(file2, sep='\t', index_col='SampleID')
concat_df = pd.concat([df1, df2], axis=1)
print(concat_df)
RawReads ReadsPost
SampleID
1 18.0 yes
2 15.0 NaN
3 NaN no
4 NaN yes
5 21.0 yes
7 7.0 NaN
Wie gesagt, lesen Sie die Pandas-Dokumentation. Es ist eine unglaublich mächtige Bibliothek und eine großartige Einführung in die Arbeit mit Daten in Python.
Danke! Beide Antworten funktionierten perfekt. Ich habe die Option Pandas benutzt, um ein gruppiertes Balkendiagramm mit den Parametern RawReads und ReadsPost mit Matplotlib zu erstellen. –