小编AK4*_*K47的帖子

Python 3 - 使用两个不同的值进行计数

我试图弄清楚如何计算在两个不同数字(如2和3)之间交替的某个整数(作为范围).因此输出将是2 5 7 10 12 15等.

我开始尝试改变一个简单的while循环,如下所示,取两个值:

a = 0 
while a < 100: 
    a = a + 2 + 3
    print(a, end=' ')
Run Code Online (Sandbox Code Playgroud)

但它最终只能计算到100乘5.

我已经尝试了数字范围和循环和模块,如itertools尝试找出一种方法来做到这一点,我完全被难倒了.

我在搜索之后执行了搜索,所有我能找到的是通过一个带有循环和范围的数字来计算.

python iteration loops

7
推荐指数
2
解决办法
181
查看次数

如何创建一个整数列表,它是dict中一组列表中所有整数的总和?

假设我创建了一个由n个键组成的字典.每个键都映射到一致长度的整数列表.我现在要做的是一个新列表,它表示dict列表中每个点的整数之和.为了显示:

my_dict = {'a': [1, 2, 3, 4], 'b': [2, 3, 4, 5], 'c': [3, 4, 5, 6]}

total_sum_list = []

for key in my_dict.keys():
    total_sum_list += ###some way of adding the numbers together
Run Code Online (Sandbox Code Playgroud)

预期产量:

total_sum_list = [6,9,12,15]
Run Code Online (Sandbox Code Playgroud)

如上所示,我不知道如何设置这个for循环,以便我可以创建一个类似的列表total_sum_list.我已经尝试过整理列表,但到目前为止我的努力还没有成功.有什么建议?

python dictionary list

6
推荐指数
1
解决办法
107
查看次数

一行,三个变量

我在这里试图在python中创建一个简单的计算器,我想知道是否有可能在命令运行时将3个第一行放入一行.我的意思是; 我不必按Enter键键入下一个数字/运算符,而是按空格键(在输入部分).

while True:
    import operator

    num1 = int(input("Whats the first number:"))
    oper = input("Which operator would you like to use: (+,-,/,*,**,^)  :")
    num2 = int(input("Whats the second number:"))


    if oper == "+":
        x = operator.add

    elif oper == "-":
        x = operator.sub

    elif oper == "*":
        x = operator.mul

    elif oper == "/":
        x = operator.__truediv__
    elif oper == "**":
        x = operator.pow
    elif oper == "^":
        x = operator.xor

    else:
        print("invalid input")

    print(num1,oper,num2,"=",x(num1,num2))
Run Code Online (Sandbox Code Playgroud)

python

6
推荐指数
1
解决办法
151
查看次数

'ImageDataGenerator' 对象没有属性 'flow_from_dataframe'

我正在尝试为癌症检测 Kaggle 挑战构建一个图像分类器。这是我正在使用的代码。

`train_datagen = ImageDataGenerator(rescale=1./255,
                                   validation_split=0.15
)

test_datagen = ImageDataGenerator(rescale=1./255)

train_path = MAIN_DIR + '/CancerTrain'
valid_path = MAIN_DIR + '/CancerTrain'



train_generator = train_datagen.flow_from_dataframe(
                dataframe = train_labels,
                directory=train_path,
                x_col = 'id',
                y_col = 'label',
                has_ext=False,
                subset='training',
                target_size=(96, 96),
                batch_size=64,
                class_mode='binary'
                )

validation_generator = train_datagen.flow_from_dataframe(
                dataframe=df,
                directory=valid_path,
                x_col = 'id',
                y_col = 'label',
                has_ext=False,
                subset='validation', # This is the trick to properly separate train and validation dataset
                target_size=(96, 96),
                batch_size=64,
                shuffle=False,
                class_mode='binary'
                )`
Run Code Online (Sandbox Code Playgroud)

但是,每当我运行它时,我都会收到此错误:

`AttributeError                            Traceback (most recent call last)
<ipython-input-22-eb9c70d0ad1c> …
Run Code Online (Sandbox Code Playgroud)

python machine-learning computer-vision python-3.x

6
推荐指数
1
解决办法
5990
查看次数

如何通过不使用“列表推导”来获取列表中元素的索引?

我是Haskell编程的新手,我尝试通过/不使用列表推导来解决问题。

问题是在列表中查找元素的索引并返回索引列表(在列表中找到元素的位置)。

我已经通过使用列表推导解决了问题,但是现在我有一些不使用列表推导来解决问题的问题。

以我的递归方式:

我尝试将[0..(length list)]和的列表压缩为自己。然后,如果元素a等于列表中的元素->用压缩的Tupel的第一个元素创建一个新列表,然后list(my index)以递归方式搜索该函数,直到列表为[]。

这就是我的列表理解(有效):

positions :: Eq a => a -> [a] -> [Int]
positions a list = [x | (x,y) <- zip [0..(length list)] list, a == y]
Run Code Online (Sandbox Code Playgroud)

那是我的递归方式(不起作用):

positions' :: Eq a => a -> [a] -> [Int]
positions' _ [] = []
positions' a (x:xs) =
    let ((n,m):ns) = zip [0..(length (x:xs))] (x:xs)
    in if (a == m) then n:(positions' a xs)
       else (positions' a xs) 
Run Code Online (Sandbox Code Playgroud)

*对不起,我不知道如何突出显示单词

但是ghci说:

*Main> …
Run Code Online (Sandbox Code Playgroud)

indexing recursion haskell list-comprehension list

6
推荐指数
2
解决办法
152
查看次数

Power BI 中的 Python 控制台

我目前正在使用 Python 脚本编写 Power BI。我想打印(使用函数print),但我无法找到在任何地方查看我打印的消息的方法。

如果 Power BI 上存在控制台以获取 Python 输出,我已经在 Google 和 Stack Overflow 上进行了搜索

import pandas as pd

dataset = pd.DataFrame(dataset.loc[:1, 'access_token'])

access_token = dataset.iloc[0]
print(access_token)
Run Code Online (Sandbox Code Playgroud)

我想要输出 print(access_token)

python powerbi

6
推荐指数
1
解决办法
2085
查看次数

计算while循环中的迭代次数

Python中有没有办法自动将迭代计数器添加到while循环中?

我想删除这些行count = 0count += 1以下代码片段,但仍然可以计算迭代次数并针对布尔值进行测试elapsed < timeout:

import time

timeout = 60
start = time.time()

count = 0
while (time.time() - start) < timeout:
    print 'Iteration Count: {0}'.format(count)
    count += 1
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

python loops python-2.7

5
推荐指数
1
解决办法
8866
查看次数

将包含n*n个元素的列表拆分为n个列表,每个列表中包含n个元素

我试图想出一个函数,它接受一个输入x并将一个大的列表与元素x*x的数量分成x个较小的列表,每个列表中包含x个元素,例如:

big_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

def split_list (x):
big_list = pairs (x)
small_list = [big_list[0:x] for x in range (x)]
Run Code Online (Sandbox Code Playgroud)

我的输出必须是:

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]] 
Run Code Online (Sandbox Code Playgroud)

但是我没有得到它,你推荐什么?

python list python-3.x

5
推荐指数
2
解决办法
1442
查看次数

我需要在 Python 中关闭 urllib.request.urlopen 连接吗?

我正在使用urllib.requestPython 3 中的模块。

我的问题是:

如果我使用打开连接,是否需要关闭连接 urllib.request.ulropen

python urllib python-2.x urllib3 python-3.x

5
推荐指数
1
解决办法
4929
查看次数

在线图中用NaN或胁迫直线填充缺少的日期时间

我在使绘图看起来像使用matplotlib时遇到问题。我已经将数据(Y)聚合为与date(X)相对应的float,为datetime64格式。我的数据开始于2019/04/23,结束于2019/08/02。不幸的是,数据不完整,我错过了2019/06/18至2019/07/08之间的时间。

这导致我的绘图中这两个日期之间的直线,我想消失。

我知道一种可能性是使用熊猫用NaN填充缺少的日期和时间以及LEVEL列。如我所读,matplotlib将忽略NaN,所以我的问题会解决吗?如果是这样,我该怎么办?我已经尝试了很多代码片段,例如,使用DATETIME作为索引(为了避免弄乱下面的代码,我希望避免这样做)。

另一种可能性:也许有一种策略可以在绘制时仅压住这条线而不触及数据框?不干净,但足够高效。是的,散点图可以避免这种情况,但是我需要这样。

这是我的数据框外观的示例:

      DATETIME     LEVEL
0     2019-04-23 16:30:00  0.087074
1     2019-04-23 16:35:00  0.093089
2     2019-04-23 16:40:00  0.081103
3     2019-04-23 16:45:00  0.093117
4     2019-04-23 16:50:00  0.093131
5     2019-04-23 16:55:00  0.087145
6     2019-04-23 17:00:00  0.087159
7     2019-04-23 17:05:00  0.087174
8     2019-04-23 17:10:00  0.087188
Run Code Online (Sandbox Code Playgroud)

您会看到两条垂直的红线和绿线之间的线,这还有另一种含义。

在此处输入图片说明

非常感谢您的时间和帮助

python matplotlib pandas

5
推荐指数
1
解决办法
55
查看次数