Python 将具有不同大小的单个数组的字符串的2d numpy数组保存到csv文件
我有一个2D numpy字符串数组。我正在尝试将其保存到CSV文件。因此,当一维阵列的大小不同时,问题就出现了 例如:Python 将具有不同大小的单个数组的字符串的2d numpy数组保存到csv文件,python,csv,numpy,Python,Csv,Numpy,我有一个2D numpy字符串数组。我正在尝试将其保存到CSV文件。因此,当一维阵列的大小不同时,问题就出现了 例如: b = [['a','b'] #size of single array = 2 ['c','d']] #size of single array = 2 b = [['a','b'] #size of single array = 2 ['c']] #size of single array = 1 因此,现在如果我尝试使用
b = [['a','b'] #size of single array = 2
['c','d']] #size of single array = 2
b = [['a','b'] #size of single array = 2
['c']] #size of single array = 1
因此,现在如果我尝试使用以下方法保存它:
np.savetxt("filename.csv", b, fmt ="%s", delimiter=",")
输出csv文件将是:
Col1 Col2
------- ----
a b
c d
这就是我想要的,但现在让我们假设我有一个不同大小的1D阵列
例如:
b = [['a','b'] #size of single array = 2
['c','d']] #size of single array = 2
b = [['a','b'] #size of single array = 2
['c']] #size of single array = 1
现在,当我尝试保存它时,输出文件是:
Col1 Col2
------- ----
['a' 'b']
['c']
鉴于我希望将其另存为:
Col1 Col2
------- ----
a b
c
有人能帮我吗 好的,因为问题在于嵌套列表的大小不同(正如
np.savetxt
适用于相同大小的列表)。我试图使所有列表的大小相同。它成功了
在和的帮助下,我调整了所有不同大小的1D列表的长度
如果有其他方法,请回答。这将非常有用您可以先将其转换为pandas数据帧,而不是保存为csv:
import pandas as pd
b = [['a','b'], ['c']]
df = pd.DataFrame(b)
df.fillna('', inplace=True)
df.to_csv(path)
但你问过numpy阵列。如果有numpy列表数组,则可以首先将其转换为列表列表:
import numpy as np
import pandas as pd
b = np.array([['a','b'], ['c']])
b = list(b)
df = pd.DataFrame(b)
df.fillna('', inplace=True)
df.to_csv(path)
嘿,谢谢你的回答。但是转换为列表列表不起作用。除了熊猫数据框部分,您正在做与我的解决方案相同的事情,即调整不同大小列表的长度。这很有效。我的意思是你的例子不正确。您询问的是numpy数组,但在示例中使用的是列表列表列表。在这里,您正在示例中创建列表:
b=[['a','b'],['c','d']]