簡體   English   中英

如何從.tsv文件讀取選定的列?

[英]How to read selected column from a .tsv file?

我有一個.tsv文件

Frequencies   Intensities
-350.51 13.7712
54.8965 0.298093
63.7786 8.16809
134.198 1.66818
144.028 2.19037
148.808 1.13914
167.588 7.58799
185.603 4.63792
206.212 1.04249
229.086 6.38628
239.265 7.7888
277.323 8.31206
298.328 18.5049
593.467 0.100776
642.199 0.0708063
685.177 0.570148
730.67  11.1965
732.848 2.5357
830.964 22.6193
856.667 4.94958
1043.11 5.80368
1134.92 13.664
1306.82 31.9118
1331.34 58.0725
1518.05 89.9757
1702.15    100
3800.18 11.8662

我想從第二行到最后一行讀取第一列,並使用數字來獲得像這樣的數組

w112161617 = np.array([
54.8965,
63.7786,
134.198,
144.028,
148.808,
167.588,
185.603,
206.212,
229.086,
239.265,
277.323,
298.328,
593.467,
642.199,
685.177,
730.67,
732.848,
830.964,
856.667,
1043.11,
1134.92,
1306.82,
1331.34,
1518.05,
1702.15,
3800.18
])       

請告知操作方法。

我試圖做到這一點

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

b = '/Users/chirantan/Desktop/12161617b.tsv'
b_data=pd.read_table(b)
b_data.head()

像這樣打印整個tsv文件

Frequencies     Intensities
0   -350.5080   13.798800
1   54.9287     0.299525
2   63.7058     8.166240
3   134.1750    1.668960
4   144.0070    2.191290

但它也只打印第6行。

我需要第一列的所有行,但負數(第二行)和標題(第一行)除外。

我該如何解決這個問題?

b_data['Frequencies']
將帶您進入第一欄。

b_data[b_data['Frequencies'] >= 0]
會得到所有沒有負數的數據框。

b_data[b_data['Frequencies'] >= 0]['Frequencies']
將使您獲得第一列的所有內容而沒有負數。

read_table棄用 使用read_csv代替:

df = pd.read_csv('/Users/chirantan/Desktop/12161617b.tsv', sep='\\t', engine='python')

frequencies = df.loc[df['Frequencies'] >= 0, 'Frequencies'].values

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM