【发布时间】:2021-11-02 23:20:30
【问题描述】:
我是这个网站的新手,我刚刚开始使用 Python 来执行我的项目。 当我通过从“txt”文件中附加许多向量集到变量“向量”中时,我遇到了这个输出。输出显示,在我完成附加后,“txt”文件中的每组向量上都有单引号。
我想删除变量列表中可以看到的每个单引号,同时保持列表中向量集的性质。我从这个网站上看到了很多好的解决方案,比如使用 .join()、split()、map() 等等。我已经尝试过了,但它没有给我想要的解决方案。
这是我的程序的代码
with open('output.txt', 'r') as result:
df = pd.read_csv(result, header = None)
grad = []
vectors = []
for row in range(len(df)):
grad.append(df.iloc[row,0])
for column in range(len(df.iloc[row,1:])):
vectors.append(df.iloc[row,column+1])
变量“vectors”的输出如下:
In [30]:vectors
Out[30]:
[' [-0.62338535 -0.62338535 -0.62338535 -0.62338535 -0.62338535]',
' [-0.6495707 -0.6495707 -0.6495707 -0.6495707 -0.6495707]',
' [-0.64999308 -0.64999308 -0.64999308 -0.64999308 -0.64999308]',
' [-0.64999989 -0.64999989 -0.64999989 -0.64999989 -0.64999989]',
' [-0.65 -0.65 -0.65 -0.65 -0.65]']
我理想的变量形式应该是这样的:
[[-0.62338535 -0.62338535 -0.62338535 -0.62338535 -0.62338535],
[-0.6495707 -0.6495707 -0.6495707 -0.6495707 -0.6495707],
[-0.64999308 -0.64999308 -0.64999308 -0.64999308 -0.64999308],
[-0.64999989 -0.64999989 -0.64999989 -0.64999989 -0.64999989],
[-0.65 -0.65 -0.65 -0.65 -0.65]]
这是“txt”文件中的内容。
7.379024325749306, [-0.62338535 -0.62338535 -0.62338535 -0.62338535 -0.62338535]
0.1190243257493061, [-0.6495707 -0.6495707 -0.6495707 -0.6495707 -0.6495707]
0.0019198730746340876, [-0.64999308 -0.64999308 -0.64999308 -0.64999308 -0.64999308]
3.0967725290674006e-05, [-0.64999989 -0.64999989 -0.64999989 -0.64999989 -0.64999989]
4.995121929499646e-07, [-0.65 -0.65 -0.65 -0.65 -0.65]
【问题讨论】:
-
不看输入很难说
-
您文件中的数据是什么样的?
-
文本文件的每一行都包含一个值和一组向量。
-
您的输入文件是文本(如可读,而不是二进制数据)。您没有从该文本表示形式转换为您想要的数字数据。
-
@mpez0 我应该如何将它存储在二进制数据中?我知道 with() 有二进制模式,只是不知道我应该如何转换它。
标签: python pandas list dataframe vector