list,nparray,和pandas dataframe的互相转换

1.首先是list如何转换成nparray

import numpy as np
list1=[];#新建一个空的list
list1.append('hello')
list1.append('world')
list1.append('!')
print(list1)
print(type(list1))
array1=np.array(list1)
print(array1)
print(type(array1))

2.有了一个nparray怎么转换成list

list2=array1.tolist()
print(list2)
print(type(list2))

3.从文件中读取了pandas的数据帧如何转成nparray

dataframe=pd.read_csv('data.csv')#需要在文件夹中有一个data.csv的文件
array2 = dataframe.values

4.array如何转成pandas的 数据帧

import pandas as pd
df=pd.DataFrame(array1)
#print(df)
#print(type(df))

但是上面转出来的 是变成pd帧的一列的

df_empty = pd.DataFrame(columns=['1','2','3'])
df_empty.loc[0]=['1','2','3',]
print(df_empty)
df_empty.loc[1]=array1
print(df_empty)
新建一个新的pd帧,pd帧的列名称为上述
使用这种方法可以使得添加的一行作为pd帧的一行

一、Tensornumpy之间的相互转化

1、Tensor张量转化为numpy

a = torch.FloatTensor(2,3)
print a.numpy();

2、将numpy转换为Tensor张量

a = np.ones(5)
torch.from_numpy(a)

高阶一点的: 三维list和数据的互转

list1= [[] for i in range(0,3)]
for i in range(0,10):
    list1[0].append(i);
    list1[1].append(10-i);
    list1[2].append(i*i)
print(list1)
import numpy as np
npd=np.array(list1)
print(npd)
import pandas as pd
df=pd.DataFrame(npd)
print(df)
得到结果如图所示~

猜你喜欢

转载自blog.csdn.net/u013318356/article/details/79883306