小编Myk*_*tko的帖子

如何在三元素数组中找到唯一元素?

我有一个 3 元素元组,其中一个元素与其他两个元素不同。例如,它可能是这样的:(0.456, 0.768, 0.456)

找到这个不同元素的索引的最简单方法是什么?我认为的一种方法考虑指数(0, 1)(1, 2)这些,一会是不一样的。如果是,(0, 1)则将它们的元素与元素进行2比较,否则,将元素(1, 2)与索引0进行比较以找到不同的元素。

感觉就像我缺少一种pythonic方法来做到这一点。

python arrays tuples list python-3.x

3
推荐指数
1
解决办法
185
查看次数

如何读取负步切片

我已经看到了一些关于切片的问题,但没有看到关于其中一些的有用答案,我无法很好地理解。假设我们有这个列表a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ,我按照以下方式对其进行切片:

a[:8:-1] #Ouput: [9]
Run Code Online (Sandbox Code Playgroud)

为什么?我们给它的结尾是 8,步长是 -1。它怎么会这样呢?

python list slice

3
推荐指数
1
解决办法
104
查看次数

迭代构建 Pandas DataFrame 的最佳方法

假设我有一个正在循环的算法。它将返回未知数量的结果,我想将它们全部存储在 DataFrame 中。例如:

df_results = pd.DataFrame(columns=['x', 'x_squared'])

x = 0
x_squared = 1

while x_squared < 100:
    x_squared = x ** 2

    df_iteration = pd.DataFrame(data=[[x,x_squared]], columns=['x', 'x_squared'])
    df_results = df_results.append(df_iteration, ignore_index=True)

    x += 1

print(df_results)
Run Code Online (Sandbox Code Playgroud)

输出:

     x  x_squared
0    0          0
1    1          1
2    2          4
3    3          9
4    4         16
5    5         25
6    6         36
7    7         49
8    8         64
9    9         81
10  10        100
Run Code Online (Sandbox Code Playgroud)

问题是当我想要进行大量迭代时。数学运算本身非常快。然而,当我们进行大循环时,数据帧的创建和附加变得非常慢。

我知道这个特定的例子可以很容易地解决,而无需在每次迭代中使用数据帧。但是想象一个复杂的算法,它还对数据帧等执行操作。对我来说,有时一步一步构建结果数据帧会更容易。哪种方法是最好的?

python dataframe pandas

3
推荐指数
1
解决办法
1013
查看次数

如何在python中选择矩阵中的非零列

假设我有以下格式的数据:

C0 C1 C2 C3 C4 C5 C6 C7 C8
0  0  0  0  0  0  0  0  0
0  0  0  0  0  0  0  0  0
0  0  2  3  4  5  6  0  0
0  1  4  5  6  7  8  0  0
0  0  0  0  0  0  0  0  0
Run Code Online (Sandbox Code Playgroud)

我想选择非零列,例如C1, C2, C3, C4, C5, C6python中的列。任何可以直接给我所需格式的命令。

python numpy python-3.x

2
推荐指数
1
解决办法
998
查看次数

将数据上传到S3存储桶而不将其保存到磁盘

方法是使用boto3参数从磁盘读取文件并上传到存储桶。是否可以上传数据而不将其保存到磁盘?upload_file(Filename='path')Filename

python io amazon-web-services boto3

2
推荐指数
1
解决办法
3317
查看次数

如果数据框中的列名称相同,则连接列

我试过重新搜索堆栈,但无法解决我的问题

如果列名相同,我想连接列:

例子:

input = { 'A' : [0,1,0,1,0], 'B' : [0,1,1,1,1], 'C':[1,1,1,1,0],
          'D' : [1,1,0,0,0], 'E' : [1,0,1,0,1]}

df = pd.DataFrame(input)
df.columns = ['A','B','C','C','B']

   A  B  C  C  B
0  0  0  1  1  1
1  1  1  1  1  0
2  0  1  1  0  1
3  1  1  1  0  0
4  0  1  0  0  1
Run Code Online (Sandbox Code Playgroud)

期望的输出:

   A    B    C
0  0  0;1  1;1
1  1  1;0  1;1
2  0  1;1  1;0
3  1  1;0  1;0 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

2
推荐指数
1
解决办法
62
查看次数

如何在 PySpark 中的 rowsBetween 中使用 unboundedPreceding、unboundedFollowing 和 currentRow

pyspark.sql.Window.rowsBetween我对接受Window.unboundedPrecedingWindow.unboundedFollowingWindow.currentRow对象作为start和参数的方法有点困惑end。您能否Window通过一些示例解释一下该函数的工作原理以及如何正确使用对象?谢谢你!

python group-by pyspark

2
推荐指数
1
解决办法
5007
查看次数

Pandas 中的序数编码

有没有办法将pandas.get_dummies数字表示形式输出在列中,而不是每个选项的单独列中?

具体来说,目前使用pandas.get_dummies它时,每个选项都会为我提供一列:

尺寸 尺寸_大 尺码_中号 尺寸_小
大的 1 0 0
中等的 0 1 0
小的 0 0 1

但我正在寻找更多以下输出:

尺寸 尺寸_数值
大的 1
中等的 2
小的 3

python pandas one-hot-encoding

2
推荐指数
1
解决办法
5654
查看次数

如何对二进制字符串列表进行排序

例如,假设我有一个二进制代码列表,例如:

a=['100','10','01010','000','0001','10001']
Run Code Online (Sandbox Code Playgroud)

我希望排序列表为:

a=['000','0001','10','100','01010','10001']
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

Pandas 中不成比例的分层抽样

如何从Name以下数据框中的每组(列)中随机选择一行:

   Distance   Name  Time  Order
1        16   John     5      0
4        31   John     9      1
0        23   Kate     3      0
3        15   Kate     7      1
2        32  Peter     2      0
5        26  Peter     4      1
Run Code Online (Sandbox Code Playgroud)

预期结果:

Distance   Name  Time  Order

4        31   John     9      1
0        23   Kate     3      0
2        32  Peter     2      0
Run Code Online (Sandbox Code Playgroud)

python random sampling dataframe pandas

0
推荐指数
1
解决办法
334
查看次数