小编yat*_*atu的帖子

通过转换重复数组

如何重复以下示例序列:

l = np.array([3,4,5,6,7])
Run Code Online (Sandbox Code Playgroud)

截至n倍,加倍在每次重复的值.因此n=3:

[3, 4, 5, 6, 7, 6,  8, 10, 12, 14, 12, 16, 20, 24, 28]
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以避免循环numpy

python arrays numpy list

11
推荐指数
1
解决办法
276
查看次数

使用两个字典的Map列

我有一个df

ColA  ColB
1     1
2     3
2     2
1     2
1     3
2     1
Run Code Online (Sandbox Code Playgroud)

我想使用两个不同的字典来更改ColB中的值。我想使用d1ColA中的值为1以及d2ColB中的值为2的情况。

d1 = {1:'a',2:'b',3:'c'}
d2 = {1:'d',2:'e',3:'f'}
Run Code Online (Sandbox Code Playgroud)

导致:

ColA  ColB
1     a
2     f
2     e
1     b
1     c
2     d
Run Code Online (Sandbox Code Playgroud)

实现此目标的最佳方法是什么?

python pandas

11
推荐指数
2
解决办法
641
查看次数

如何在整个熊猫数据框上使用math.log10函数

我想获取熊猫数据框中每个值的对数。我已经尝试过了,但是没有用:

#Reading data from excel and rounding values on 2 decimal places
import math
import pandas as pd

data = pd.read_excel("DataSet.xls").round(2)
log_data= math.log10(data)
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

TypeError:必须是实数,而不是DataFrame

你有什么想法吗?

python numpy pandas

10
推荐指数
3
解决办法
2055
查看次数

火车上分开并按组进行测试

我有一个样本数据如下:

import pandas as pd

df = pd.DataFrame({"x": [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
                   "id": [1, 1, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5],
                   "label": ["a", "a", "a", "b", "a", "b", "b", "b", "a", "b", "a", "b"]})
Run Code Online (Sandbox Code Playgroud)

所以我的数据看起来像这样

  x   id   label
 10   1    a
 20   1    a
 30   1    a
 40   1    b
 50   2    a
 60   2    b
 70   3    a
 80   3    a
 90   4    b
100   4    a …
Run Code Online (Sandbox Code Playgroud)

python machine-learning pandas scikit-learn

10
推荐指数
1
解决办法
5444
查看次数

Groupby搜索第一个和最后一个True值

我有一个带有重复索引的pd.Series,每个索引包含一组布尔值:

FA155    False
FA155    False
FA155    False
FA155    True
FA155    True
FA155    True
FA155    True
FA155    True
FA155    False
Run Code Online (Sandbox Code Playgroud)

我想以有效的方式为每个不同的索引做的是将序列的第一个和最后一个True值保持为True,并将其余值设置为False.True之间也可能存在False值.

因此,对于此示例,结果将是:

FA155    False
FA155    False
FA155    False
FA155    True
FA155    False
FA155    False
FA155    False
FA155    True
FA155    False
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激.

python pandas

9
推荐指数
1
解决办法
199
查看次数

PyTorch 张量高级索引

假设我有一个矩阵和一个向量,如下所示:

x = torch.tensor([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])

y = torch.tensor([0, 2, 1])
Run Code Online (Sandbox Code Playgroud)

有没有办法切片它x[y]所以结果是:

res = [1, 6, 8]
Run Code Online (Sandbox Code Playgroud)

所以基本上我取第一个元素y并取x对应于第一行和元素列的元素。

干杯

python numpy pytorch

9
推荐指数
1
解决办法
3887
查看次数

如何在列表的间隔之间填充元素

我有一个这样的清单:

list_1 = [np.NaN, np.NaN, 1, np.NaN, np.NaN, np.NaN, 0, np.NaN, 1, np.NaN, 0, 1, np.NaN, 0, np.NaN,  1, np.NaN]
Run Code Online (Sandbox Code Playgroud)

所以有以 开头1和结尾的间隔0。我怎样才能替换这些间隔中的值,比如用 1?结果将如下所示:

list_2 = [np.NaN, np.NaN, 1, 1, 1, 1, 0, np.NaN, 1, 1, 0, 1, 1, 0, np.NaN, 1, np.NaN]
Run Code Online (Sandbox Code Playgroud)

NaN在这个例子中使用,但可以适用于任何值的通用解决方案也很棒

python numpy dataframe pandas

9
推荐指数
1
解决办法
367
查看次数

具有共同元素的子列表联盟

假设我有以下嵌套列表:

L = [['John','Sayyed'], ['John' , 'Simon'] ,['bush','trump'],
     ['Sam','Suri','NewYork'],['Suri','Orlando','Canada']]
Run Code Online (Sandbox Code Playgroud)

如何通过将具有共同元素的子列表与该组中的至少另一个子列表结合起来,对这些子列表进行分组?所以对于前面的例子,结果应该是:

[['John','Sayyed','Simon'] ,['bush','trump'],
 ['Sam','Suri','NewYork','Orlando','Canada']]
Run Code Online (Sandbox Code Playgroud)

因此,前两个子列表在他们共享时加入'John'.有人可以分享他们宝贵的想法吗?

python list networkx

8
推荐指数
1
解决办法
467
查看次数

每个柱子的不同石斑鱼与熊猫GroupBy

我怎么能使用多维Grouper,在这种情况下是另一个数据帧,作为另一个数据帧的Grouper?可以一步完成吗?

我的问题主要是关于如何在这些情况下执行实际的分组,但要使其更具体,请说我想接受transform并采取sum.

考虑例如:

df1 = pd.DataFrame({'a':[1,2,3,4], 'b':[5,6,7,8]})

print(df1)
   a  b
0  1  5
1  2  6
2  3  7
3  4  8

df2  = pd.DataFrame({'a':['A','B','A','B'], 'b':['A','A','B','B']})

print(df2)
   a  b
0  A  A
1  B  A
2  A  B
3  B  B
Run Code Online (Sandbox Code Playgroud)

然后,预期的输出将是:

   a  b
0  4  11
1  6  11
2  4  15
3  6  15
Run Code Online (Sandbox Code Playgroud)

凡列abdf1已按列进行分组a,并bdf2分别.

python group-by pandas pandas-groupby

8
推荐指数
2
解决办法
684
查看次数

在列表中查找项目结尾的重复项

我想在列表中找到在字符串的后3个字符内具有重复结尾的项目

我知道如何使用下面的代码查找重复项,但是需要代码帮助,如何找到“ sara”和“ tamara”的最后一个字符串相同,以便可以将其中一个项复制到plicate_finding列表中

使用以下代码,我只能识别列表中完全相同的重复项:

names = ["tom", "john", "sara" , "tamara" , "tom"]
single_finds = []
duplicate_finds = []

for i in names:
        if i in single_finds:
                duplicate_finds.append(i)
        else:
                single_finds.append(i)

print (single_finds)
print (duplicate_finds)
Run Code Online (Sandbox Code Playgroud)

输出:

['tom', 'john', 'sara', 'tamara']
['tom']
Run Code Online (Sandbox Code Playgroud)

python list

8
推荐指数
1
解决办法
110
查看次数