Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于pandas的动态数据选择_Python_Python 3.x_Pandas_Numpy - Fatal编程技术网

Python 基于pandas的动态数据选择

Python 基于pandas的动态数据选择,python,python-3.x,pandas,numpy,Python,Python 3.x,Pandas,Numpy,我有一个动态的情况,我想根据下面的逻辑过滤数据 dynamic_cols = ['A', 'B'. ...] dynamic_values = [1,2,...] data_frame.LOC[data_frame[dynamic_cols == dynamic_values ]] 我曾经用过熊猫,和努比 有什么建议吗 例:在上述情况下,我想过滤A=1和列B=2中的行,使用列表理解创建的所有掩码,或者创建帮助器数据框,并且: 谢谢你的快速回复。这对我有用。但是还有一个问题..pd.Data

我有一个动态的情况,我想根据下面的逻辑过滤数据

dynamic_cols = ['A', 'B'. ...]
dynamic_values = [1,2,...]

data_frame.LOC[data_frame[dynamic_cols == dynamic_values ]]
我曾经用过熊猫,和努比

有什么建议吗

例:在上述情况下,我想过滤
A=1和列B=2中的行,使用
列表理解创建的所有掩码,或者创建帮助器
数据框
,并且:



谢谢你的快速回复。这对我有用。但是还有一个问题..
pd.DataFrame([dynamic_values],columns=dynamic_cols)
如果我想更新主
df
中的
D
列,我该怎么做now@Geek-不确定是否理解,因为我不知道数据的外观,是否可以指定更多?例如,创建数据样本?免费使用并修改我答案中的样本数据。您的数据示例是正确的。它只是基于多个列值,我需要在中更新一个列df@Geek-hmm,那么是更好的第一个解决方案,
df.loc[m,'D']=10
So
m=np.logical\u和.reduce([df[a]=b表示a,b in(zip(动态列,动态值)))
不可能使用吗?
df = pd.DataFrame({
         'A':[1,2,4,1,5,4],
         'B':[2,8,9,2,2,3],
         'C':[3,3,5,3,1,0],

})

print (df)
   A  B  C
0  1  2  3
1  2  8  3
2  4  9  5
3  1  2  3
4  5  2  1
5  4  3  0
dynamic_cols = ['A','B','C']
dynamic_values = [1, 2, 3]

m = np.logical_and.reduce([df[a] == b for a, b in (zip(dynamic_cols, dynamic_values))])
df1 = df[m]
print (df1)
   A  B  C
0  1  2  3
3  1  2  3
df2 = pd.DataFrame([dynamic_values], columns=dynamic_cols)
df1 = df.merge(df2)
print (df1)
   A  B  C
0  1  2  3
3  1  2  3