1 数据类型判断
2 list 和DataFrame和Series的相互转换
list 转化DataFrame
a = [[‘a’, ‘1.2’, ‘4.2’], [‘b’, ‘70’, ‘0.03’], [‘x’, ‘5’, ‘0’]]
df = pd.DataFrame(a, columns=[‘one’, ‘two’, ‘three’])
应用:addr_verctor_df = pd.DataFrame(list名称)
———————————————————————————————————————————————-
实例:addr, pred_psm为两个list的合并
addr, pred_psm = pd.DataFrame(addr, columns=[‘addr’]),pd.DataFrame(pred_psm, columns=[‘psm’])
data_one = pd.concat([addr, pred_psm],axis=1)
psm_produce_all = pd.DataFrame()
data_all = pd.concat([psm_produce_all,data_one])
DataFrame 转list
df1 = df.values.tolist() #先转array,再到list
pandas.core.series.Series可以直接转成list
list转Series
Series转list
3 DataFrame 和np.array的相互转换
DataFrame 转np.array
array转化成dataframe
import pandas as pd
df = pd.DataFrame(df)
4 array和list的相互转换
array转成list
print(x.tolist()) #x由array转成list
print(list(x)) #x由array转成list
list转为array要用numpy模块中的array()函数
import numpy as np
print(np.array(x)) #list转化为array,数据类型会全部统一
5 tensor与array的相互转换
5.1 pytorch中
Pytorch tensor 转为array
a.numpy()
np.array(a) #也可以转numpy数组
array转为 pytorch的tensor
torch.from_numpy(b)
torch.Tensor(b) #也可以转pytorch Tensor
5.2 tensorflow
numpy 实例转 tensor
Tensor 转 numpy
6 列表和字典的相互转换
6.1 列表转换成字典
方法一:使用zip()函数
a = ['a1','a2','a3','a4','a1']
b = ['b1','b2','b3','dd','cd']
d = zip(a,b)
print(dict(d))
#{'a1': 'cd', 'a2': 'b2', 'a3': 'b3', 'a4': 'dd'} #注意关键字相同时,会合并掉。
方法二:使用嵌套列表转换为字典
a = ['a1','a2']
b = ['b1','b2']
c = [a,b]
print(dict(c)) # {'a1': 'a2', 'b1': 'b2'}
# 相当于遍历子列表,如下
dit = {}
for i in c:
dit[i[0]] = i[1]
print(dit)
6.2 字典转换成列表
dit = {'name':'zxf',
'age':'22',
'gender':'male',
'address':'shanghai'}
# 将字典的key转换成列表
lst = list(dit)
print(lst) # ['name', 'age', 'gender', 'address']
# 将字典的value转换成列表
lst2 = list(dit.values())
print(lst2) # ['zxf', '22', 'male', 'shanghai']
7 python字符串与变量的转换
7.1 由字符串生成变量
7.2 变量生成字符串
当需要对变量名称进行判断,就需要这种功能:
abc = 376
variable_name = list(dict(abc=abc).keys())[0]
print(variable_name,type(variable_name),abc)
#输出:abc <class 'str'> 376
来自:https://www.zhihu.com/question/42768955的一个回复。
8 Series与DataFrame
8.1 Series转换为DataFrame
虽然Series有一个to_frame()方法,但是当Series的index也需要转变为DataFrame的一列时,这个方法转换会有一点问题。
所以,下面我采用将Series对象转换为list对象,然后将list对象转换为DataFrame对象。
Pytorch中Tensor数据类型转换
1)Tensor的int、float数据类型转换:
在Tensor后加 .long(), .int(), .float(), .double()等即可
2)Tensor与numpy数据类型转换:
Tensor -> Numpy 使用 data.numpy(),data为Tensor变量
Numpy -> Tensor 使用 torch.from_numpy(data),data为numpy变量
3)Tensor与Python数据类型转换:
Tensor -> 单个Python数据,使用data.item(),data为Tensor变量且只能为包含单个数据
Tensor -> Python list,使用data.tolist(),data为Tensor变量,返回shape相同的可嵌套的list