小编dro*_*hun的帖子

在 Python 中绘制 3D 立方体并在 3D 上绘制线

我知道,对于那些熟悉 Python 的人来说这是小菜一碟的问题。

我有一个 Excel 文件,它看起来像这样:

1 7 5 8 2 4 6 3

1 7 4 6 8 2 5 3

6 1 5 2 8 3 7 4

我的目的是用Python画一个立方体,并根据这些数字的顺序画一条线。注意:数组中没有大于8的数字。

我可以用图片更好地解释。

在此输入图像描述

第一步:

在此输入图像描述

第二步

在此输入图像描述

最后一步:

在此输入图像描述

我需要打印 Excel 中每一行的 3D 立方体的最终版本

我的解决方法

import numpy as np 
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection
import matplotlib.pyplot as plt
 
df = pd.read_csv("uniquesolutions.csv",header=None,sep='\t')
myArray = df.values

points = solutionsarray

def connectpoints(x,y,p1,p2):
   x1, x2 = x[p1], x[p2]
   y1, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib cube

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

在 Python 中循环遍历列表

我有一个train_file.txt,每行有 3 列。

例如;

1 10 1

1 12 1

2 64 2

6 17 1

...
Run Code Online (Sandbox Code Playgroud)

我正在阅读这个txt文件

train_data = open("train_file.txt", 'r').readlines()
Run Code Online (Sandbox Code Playgroud)

然后我试图用 for 循环获取每个值

for eachline in train_data:
    uid, lid, x = eachline.strip().split()
Run Code Online (Sandbox Code Playgroud)

问题:训练数据是一个巨大的文件,这就是为什么我只想获取前 1000 行。

我试图执行以下代码,但出现错误(“list”对象不能解释为整数)

for eachline in range(train_data,1000)
        uid, lid, x = eachline.strip().split()
Run Code Online (Sandbox Code Playgroud)

python loops list

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

字典到 Python 中的 DataFrame

我从这里检查了很多问题,但这与我的问题并不完全相同。

让我们创建一个虚拟字典来描述我的问题。

dictionary = {12: {1,2,4,6,8,12,16,65,13,644,653,23}, 15:{10,20,30,23,56,6,8,}, 17:{4,7,11,12,19}, 20:{40,54,123,545,234}}
Run Code Online (Sandbox Code Playgroud)

这里的键是 userid,值是 location-id。

我的目标是创建一个这样的数据框

userid locationid
12        1
12        2
12        4
...       ...
15        20
15        30
15        23
...       ...
17         4
17         7
17         11
...        ...
20         40
20         54
...       ...
Run Code Online (Sandbox Code Playgroud)

我的解决方案

for dictkey in range(len(dictionary.keys())): 
        lids = list(np.array(list(dictionary.values())[dictkey]).item())
        userid = np.array(list(dictionary.keys())[dictkey])
        userid = userid.reshape(1,1)
        df= pd.DataFrame(userid, columns =['userid'])
        df['locationid'] = lids  
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我应该如何处理这个问题?我无法解决

注意:通常我的真实数据集很大。

python numpy pandas

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

标签 统计

python ×3

cube ×1

list ×1

loops ×1

matplotlib ×1

numpy ×1

pandas ×1