PythonPandas数据集过滤器

2o7dmzc5  于 2023-02-17  发布在  Python
关注(0)|答案(1)|浏览(155)

我需要访问my_data.iloc[j:i] == my_data.at['sales]。即[0,1] [1,1] [2,1] [3,1]这种元素访问需要过滤掉数据集。
我编写的代码为:

x = 1
j = 0
result = []
for i in range(len(my_data)) :
   if (my_data.iloc[j:i] == my_data.at['sales'])
       # if equal then append the row
      result.append(my_data.iloc[i, :])
      j = j + 1

我得到了ValueError the truth value of a DataFrame is ambiguous. use an empty, a.bool() ...请帮我一把...谢谢
新信息:
当我打印这个列表方向的时候,结果是这样的

{'lndex' : [1,1,1,1,1],'table' ,' table1' ,'table2','table3','table4'],'Table Value Index' :[0,0,0,0,0], 'Value_Index' : [1,2,3,4,5]} ...

代码仍然对我不起作用。我将发布代码和错误。
代码:

for index,row in my_data.iterrows():
if (my_data.at[index,1] == my_data.at['Index']:  #error line
    result.append(my_data.iloc[index,:])

它从错误行的错误中给出了关键错误(关键)。我正在逐步通过代码来了解发生了什么...请帮助

l7wslrjt

l7wslrjt1#

我相信这就是你想做的:

import numpy as np
import pandas as pd

df = pd.DataFrame.from_dict({'v1': [0,1,2,3,5], 'v2': [1,1,1,1,1]})
x = np.array([[0,1], [1,1], [2,1], [3,1]])
# so basically first 4 rows of the DF should match the X
if df.iloc[0:4].values.all() == x.all():
    print('Match')
else:
    print('Mismatch')

相关问题