使用 zip 函数有什么好处 df['full_name']=zip(df['name'],df['last name'])

what the advantage of using zip function df['full_name']=zip(df['name'],df['last name'])

我正在努力理解。

使用压缩功能有什么好处

df['full_name']=zip(df['name'],df['last name'])

而不是

df['full_name']=df['name']+ " " + df['last name']

对于 namelast name 的元组,使用第一个解决方案(转换为列表以避免 zip 对象):

df['full_name']= list(zip(df['name'],df['last name']))

对于由 space 连接的列,使用:

df['full_name']=df['name']+ " " + df['last name']

样本:

df = pd.DataFrame({'name':['name1','name2'],
                   'last name':['last  name1','last name2']})

df['full_name0']= zip(df['name'],df['last name'])
df['full_name1']= list(zip(df['name'],df['last name']))
df['full_name2']=df['name']+ " " + df['last name']

print (df)
    name    last name                          full_name0  \
0  name1  last  name1  <zip object at 0x000000000F975DC0>   
1  name2   last name2  <zip object at 0x000000000F975DC0>   

             full_name1         full_name2  
0  (name1, last  name1)  name1 last  name1  
1   (name2, last name2)   name2 last name2  

print (type(df['full_name1'].iat[0]))
<class 'tuple'>

print (type(df['full_name2'].iat[0]))
<class 'str'>

在我看来,压缩并不重要。

df['full_name']=zip(df['name'],df['last name'])

full_name 列中的元素是元组。

df['full_name']=df['name']+ " " + df['last name']

如果这样写,full_name列中的元素是字符串。

字符串更适合显示和打印,但丢失了一些有关其结构的信息。

例如,如果名字是 "A",姓氏是 "B C",如果用 space 连接它们,它将是 "A B C"。对人类来说没问题,但对机器来说,它无法判断它是 "A" "B C" 还是 "A B" "C",因为“结构信息”如我所说丢失了。

所以选择哪一个取决于你的目的。

zip 用于将两个字典项目合并为一个

 mylist=list(zip(dict1,dict2))