我喜欢根据列名及其最小值和最大值检索数据。我不知道怎样才能得到那个结果。我可以根据列名获取数据,但不知道如何应用限制。在
列表和元组中给定的列名和相应的最小值和最大值。在
import pandas as pd
import numpy as np
def c_cutoff(data_frame, column_cutoff):
selected_data = data_frame.loc[:, [X[0] for X in column_cutoff]]
return selected_data
np.random.seed(5)
df = pd.DataFrame(np.random.randint(100, size=(100, 6)),
columns=list('ABCDEF'),
index=['R{}'.format(i) for i in range(100)])
column_cutoffdata = [('B',27,78),('E',44,73)]
newdata_cutoff = c_cutoff(df,column_cutoffdata)
print(df.head())
print(newdata_cutoff)
结果
^{pr2}$预期产量 我希望所有小于27和大于78的值都应该被丢弃,E也是一样
您可以非常明确地执行以下操作:
产量:
^{pr2}$^{} +^{} +^{}
不能在数组中丢弃值;这将涉及到对数组和数据帧的列都具有相同的大小。在
但是您可以迭代并使用
pd.Series.where
将超出范围的值替换为NaN
。注意Pandas通过函数馈送数据帧的方式是通过pipe
:如果要删除具有任何} :
^{pr2}$NaN
值的行,则可以使用^{相关问题 更多 >
编程相关推荐