我正在使用 Pythonnet 调用一个 C# 函数,该函数返回一个 clr 对象(一个n x m矩阵)。在 python 中,类型是System.Object[,]。如何将此变量转换为 Pandas DataFrame 或更易于管理的东西?
谢谢你。
我正在使用 Pythonnet 调用一个 C# 函数,该函数返回一个 clr 对象(一个n x m矩阵)。在 python 中,类型是System.Object[,]。如何将此变量转换为 Pandas DataFrame 或更易于管理的东西?
谢谢你。
pd.DataFrame([[obj[j, i] for j in range(obj.GetLength(1))] for i in range(obj.GetLength(0))])
最后,我能想出的唯一解决方案是抓取它,直到得到这样的 IndexError:
import pandas as pd
def ObjectToDataFrame_nx2(obj)
ts=pd.DataFrame(columns=['Dim1','Dim2'])
i=0
while True:
try:
dim1=obj[i,0]
dim2=obj[i,1]
except IndexError:
break
ts=ts.append({'Dim1': dim1, 'Dim2': dim2},ignore_index=True)
i+=1
return(ts)
编辑:这是 nxm 版本
def ObjectToDataFrame_nxm(obj):
i=0
vvec=[]
while True:
j=0
vec=[]
try:
while True:
try:
vec.append(obj[i,j])
except IndexError:
break
j+=1
dummy = obj[i,0]
vvec.append(vec)
except IndexError:
break
i+=1
return(pd.DataFrame(vvec))