我想在数组中添加n个零.
如果您的数组是x,并且您希望在数组和数组中添加3个零而不创建2个数组:
x = np.array([1.0, 2.0, 1.0, 2.0, 7.0, 9.0, 1.0, 1.0, 3.0, 4.0, 10.0])
Run Code Online (Sandbox Code Playgroud)
我认为这个命令会有所帮助:
x = [x, np.zeros(N)]
Run Code Online (Sandbox Code Playgroud)
但我收到了2个阵列而不是1个大阵列:
[array([ 1., 2., 1., 2., 7., 9., 1., 1., 3., 4., 10.]),
array([ 0., 0., 0., 0.])]
Run Code Online (Sandbox Code Playgroud)
所以我想创建这种类型的数组:
[array([ 1., 2., 1., 2., 7., 9., 1., 1., 3., 4., 10., 0., 0., 0., 0.])]
Run Code Online (Sandbox Code Playgroud)
这个相当简单的问题可以帮助我吗?
import pandas as pd
import numpy as np
e = np.random.normal(size=100)
e_dataframe = pd.DataFrame(e)
Run Code Online (Sandbox Code Playgroud)
当我输入上面的代码时,我得到了这个答案:

但是如何更改列名?
尝试使用Celery运行简单示例并接收异常.RabbitMQ在Docker中启动,也尝试在本地启动它.Celery可在本地Windows主机上运行
from celery import Celery
app = Celery('tasks', broker='amqp://192.168.99.100:32774')
@app.task()
def hello():
print('hello')
if __name__ == '__main__':
hello.delay()
Run Code Online (Sandbox Code Playgroud)
我的错误文字的摘录:
[2017-08-18 00:01:08,628: INFO/MainProcess] Received task: tasks.hello[8d33dbea-c5d9-4938-ab1d-0646eb1a3858] [2017-08-18 00:01:08,632: ERROR/MainProcess] Task handler raised error: ValueError('not enough values to unpack (expected 3, got 0)',) Traceback (most recent call last): File "c:\users\user\celenv\lib\site-packages\billiard\pool.py", line 358, in workloop result = (True, prepare_result(fun(*args, **kwargs))) File "c:\users\user\celenv\lib\site-packages\celery\app\trace.py", line 525, in _fast_trace_task tasks, accept, hostname = _loc ValueError: not enough values to unpack (expected 3, got 0)
我有一个如下列表,
remove_words = ['abc', 'deff', 'pls']
Run Code Online (Sandbox Code Playgroud)
以下是我使用列名'string'的数据框
data['string']
0 abc stack overflow
1 abc123
2 deff comedy
3 definitely
4 pls lkjh
5 pls1234
Run Code Online (Sandbox Code Playgroud)
我想检查pandas dataframe列中remove_words列表中的单词,并删除pandas数据帧中的这些单词.我想检查单独出现的单词,而不是用其他单词出现.
例如,如果pandas df列中有'abc',请将其替换为''但如果它与abc123一起出现,我们需要保持原样.这里的输出应该是,
data['string']
0 stack overflow
1 abc123
2 comedy
3 definitely
4 lkjh
5 pls1234
Run Code Online (Sandbox Code Playgroud)
在我的实际数据中,我在remove_words列表中有2000个单词,在pandas数据帧中有50亿个记录.所以我正在寻找最有效的方法来做到这一点.
我在python中尝试过很少的东西,没有太大的成功.有人可以帮我这么做吗?任何想法都会有所帮助.
谢谢
我有以下价值
start = int(time.time()*1000.0) & 0x7FFFFFFF
Run Code Online (Sandbox Code Playgroud)
这是什么目的& 0x7FFFFFFF?
我有一个416行的2D列表,每行有4列.第1-4行包含它们的行号4次(即,[...[1,1,1,1],[2,2,2,2]...].行330包含[41,22,13,13].其他所有内容[0,0,0,0].目前我正在使用带有许多显式if语句的for循环.
myList = [[0,0,0,0]]
for i in range(1, 416):
if i == 1 or i == 2 or i == 3 or i == 4:
myList.append([i,i,i,i])
elif i == 330:
myList.append([41,22,13,13])
else:
myList.append([0,0,0,0])
Run Code Online (Sandbox Code Playgroud)
我有什么更有效的方法来定义这个数组?
我在SO上看到的其他问题似乎没有明确地解决这个问题,但是如果有人发现一个可以被认为是重复的问题,请标记这个问题,我会接受它.
我正在寻找一种矢量化方法,用于求和numpy数组的所有元素,这些元素可被5整除.
例如,如果我有
test = np.array([1,5,12,15,20,22])
Run Code Online (Sandbox Code Playgroud)
我想返回40.我知道np.sum方法,但有没有办法在给定X%5 == 0条件的情况下使用向量化?
我正在处理创建列表的代码,然后应用"或"和"和"条件来执行进一步操作:
a= ["john", "carlos", "22", "70"]
if (("qjohn" or "carlos") in a) and (("272" or "70") in a):
print "true"
else:
print "not true"
Run Code Online (Sandbox Code Playgroud)
输出:
not true
Run Code Online (Sandbox Code Playgroud)
当我这样做:
a= ["john", "carlos", "22", "70"]
if ("qjohn" or "cdarlos" in a) and ("272" or "d70" in a):
print "true"
else:
print "not true"
Run Code Online (Sandbox Code Playgroud)
输出是 "true"
我没有得到的**carlos and 70**应该是真实的,但它打印"不真实".这个错误的原因是什么?谢谢
我们如何替换数据框中的特定值,以使替换等于这些特定值所在的第i列的顺序?例如,我有这个DF:
A B C
0 0 1
1 0 0
1 0 0
0 1 0
1 0 1
Run Code Online (Sandbox Code Playgroud)
用第1列所在的第i列(第1,第2,第3等)的顺序替换此数据框中的所有1,以便它像这样松散:
A B C
0 0 3
1 0 0
1 0 0
0 2 0
1 0 3
Run Code Online (Sandbox Code Playgroud)
这是我认为可行的,但它没有:
DF_2= [(0 if i== 0 else j for i in DF.iloc[:,j] ) for j in range(DF.shape[1]) ]
Run Code Online (Sandbox Code Playgroud) 我想将列表输出到具有格式的txt文件中。但列表长度会不时发生变化。
代码是这样的:
a = [1, 2, 3] #**but this could also be: a = [1, 2, 3, 6, 9] or [1, 90]**
with open('node.k','w') as file:
file.write(((len(a)-1)*'{},'+'{}\n').format(a[0],a[1],a[2]))
Run Code Online (Sandbox Code Playgroud)
我想知道应该如何修改这段代码,以便该代码可以适用于不同的列表长度?
我有两个数据框df1和df2. df1包含列subject_id和time且df2包含列subject_id和final_time。我想要做的是为每个subject_idindf1添加一列,其中包含 final_timefromdf2但仅来自于subject_ids中包含的df1。我已经尝试过df1.merge(df2,how='left'),但仍然得到了所有更长subject_id的df2并且包含许多重复的“subject_id”。
我正在寻找的示例:
df1
subject_id time
0 15 12:00
1 20 12:05
2 21 12:10
3 25 12:00
df2
subject_id final_time
0 15 12:30
1 15 12:30
2 15 12:30
3 20 12:45
4 20 12:45
5 21 12:50
6 25 1:00
7 25 1:00
8 25 …Run Code Online (Sandbox Code Playgroud) 如何隐藏库中的导入内容?
库.py
import numpy as np
Run Code Online (Sandbox Code Playgroud)
测试.py
import library
print(dir(library))
Run Code Online (Sandbox Code Playgroud)
结果(python3 test.py)
['__builtins__', '__cached__', '__doc__', '__file__',
'__loader__', '__name__', '__package__', '__spec__',
'np']
Run Code Online (Sandbox Code Playgroud)
问题:np是库的一个模块。
隐藏我用来编写库的库的明智方法是什么?