我知道,对于那些熟悉 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) 我有一个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) 我从这里检查了很多问题,但这与我的问题并不完全相同。
让我们创建一个虚拟字典来描述我的问题。
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)
但它不起作用。我应该如何处理这个问题?我无法解决
注意:通常我的真实数据集很大。