我要在下面列出一个“单词”列表
word_list = ['one','three']
Run Code Online (Sandbox Code Playgroud)
而且我在pandas数据框中有一列,下面是文本。
TEXT |
-------------------------------------------|
"Perhaps she'll be the one for me." |
"Is it two or one?" |
"Mayhaps it be three afterall..." |
"Three times and it's a charm." |
"One fish, two fish, red fish, blue fish." |
"There's only one cat in the hat." |
"One does not simply code into pandas." |
"Two nights later..." |
"Quoth the Raven... nevermore." |
Run Code Online (Sandbox Code Playgroud)
所需的输出如下所示,其中保留原始文本列,但仅将word_list中的单词提取到新列中
TEXT | EXTRACT
-------------------------------------------|---------------
"Perhaps she'll be the one for …Run Code Online (Sandbox Code Playgroud) 我有以下列表:
a = [1, 2, 5, 4, 3, 6]
Run Code Online (Sandbox Code Playgroud)
而且我想知道如何在列表中随机交换任意两个值,而不管列表中的位置如何.以下是我正在考虑的一些示例输出:
[1, 4, 5, 2, 3, 6]
[6, 2, 3, 4, 5, 1]
[1, 6, 5, 4, 3, 2]
[1, 3, 5, 4, 2, 6]
Run Code Online (Sandbox Code Playgroud)
有没有办法在Python 2.7中执行此操作?我目前的代码是这样的:
import random
n = len(a)
if n:
i = random.randint(0,n-1)
j = random.randint(0,n-1)
a[i] += a[j]
a[j] = a[i] - a[j]
a[i] -= a[j]
Run Code Online (Sandbox Code Playgroud)
然而,我目前拥有的代码的问题是,如果给出足够的交换和迭代,它会开始将所有值设置为零,这是我不想要的; 我希望值在数组中保持不变,但是执行类似于2opt的操作,并且每次交换时只切换两次.
我有一个函数可以应用到这个表
F(x) = 1.5*x1 + 2*x2 - 1.5*x3
Run Code Online (Sandbox Code Playgroud)
其中 xi, i = 1,2,3,是列值。
我有下表。
X1 | X2 | X3
------|------|------
20 |15 |12
30 |17 |24
40 |23 |36
Run Code Online (Sandbox Code Playgroud)
我想要的输出如下所示,我将函数应用于每一行,取每列中的值并将其迭代地应用于函数,然后将值作为总和接收,并将另一列附加到数据帧上。
X1 | X2 | X3 |F(X)
------|------|------|------
20 |15 |12 |42
30 |17 |24 |43
40 |23 |36 |52
Run Code Online (Sandbox Code Playgroud)
有没有办法在 Python 2.7 中做到这一点?