如何便利数组并保证筛选结果
例如:数组x = []
如何便利第一列和第二列包含2的筛选结果有几条,如果我还要多条筛选又要筛选第一列第二列为2的结果和第4第5列筛选3的结果有几条呢? 本帖最后由 笨鸟学飞 于 2021-3-24 16:37 编辑
为何不考虑下写出EXCEL文件利用EXCEL的筛选?
https://www.jianshu.com/p/0a45dffc265f
或者数据库 笨鸟学飞 发表于 2021-3-24 16:34
为何不考虑下写出EXCEL文件利用EXCEL的筛选?
https://www.jianshu.com/p/0a45dffc265f
我想用PYTHON写{:10_243:} x = [, ,
, , ]
find = input('输入需要查询的列,以空格分隔。').split(' ')
num = int(input('请输入查询的值'))
for each in x:
flag = 0
for every in find:
if each == num:
flag = 1
break
if flag == 1:
print(each)
这个是某几列包含指定数字的
比如说列1和2,含有2的
会返回 列1 或 列 2 中,至少有一个是2的列表
如果是多个查询,比方说有列1列2 有 2 并且 列3列4有5的
自己修改一下输入的地方,把查询的列做成二维列表
然后依次遍历内容,去挨个匹配
每个原数据列表去匹配你的要求,匹配到了,count += 1
没匹配到,直接break跳出
看最后count 的数值是否和你查询限定要求的个数是否相同
相同则输出带有数据的列表,不同则访问下一个带有数据的列表
x = [,
,
,
,
]
# 按行统计
# print(x.count(1)) # 统计 某行 某个值所出现的次数(按行统计)
def count_in_row(data, which_row=1, value=0):
return data.count(value)
print(count_in_row(x, 1, 1)) # 第一行中 值为1的 出现了多少次
# 按列统计
def count_in_col(data, which_col=1, value=0):
col = []
for row in data:
# print(row) # 第一列的
# col.append(row)
col.append(row) # 第几列的
return col.count(value)# 统计该列内的某个值 所出现的次数(按列统计)
# print(col.count(1))
print(count_in_col(x, 2, 1)) # 第二列中 值为1的 出现了多少次
补充:或者用pandas模块(刚好我复习一下,^_)
import pandas as pd
x = [,
,
,
,
]
df = pd.DataFrame(x)
print(df)
print(list(df.iloc).count(1)) # 第一行中 值为1的 出现了多少次
print(list(df).count(1)) # 第二列中 值为1的 出现了多少次
. 阿奇_o 发表于 2021-3-24 23:11
请问我如果筛选第一行2,第一行1的话怎么实现啊?头都大了,基本功不扎实后面停更了又没学 Daniel_Zhang 发表于 2021-3-24 17:57
这个是某几列包含指定数字的
比如说列1和2,含有2的
谢谢哈
页:
[1]