【发布时间】:2018-01-20 07:25:30
【问题描述】:
我有以下文本输出,我的目标是仅在第 1 列中的值大于 1 但小于或等于 4 时选择第 2 列的值。所以我正在寻找 Python 来打印第 2 列的值为 [-6,0,-4] 因为只有这些值符合第 1 列的条件。
- 1 2
- 2 -6
- 3 0
- 4 -4
- 5 100
我尝试了以下方法。
import pandas as pd
import numpy as np
data= pd.read_table('/Users/Hrihaan/Desktop/A.txt', dtype=float, header=None, sep='\s+').values
x=data[:,0]
y=np.where(1< x<= 4, data[:, 1], np.nan)
print(y)
我收到以下错误:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
任何建议都会很有帮助。
【问题讨论】:
标签: python pandas numpy conditional-statements multiple-columns