示例代码:
我用一些瞳孔信息创建了一个名为df的数据帧
data = {'name': ['Jason', 'Molly', 'Tina', 'Jake', 'Amy'],
'year': [2012, 2012, 2013, 2014, 2014],
'reports': [4, 24, 31, 2, 3]}
df = pd.DataFrame(data, index = ['Cochice', 'Pima', 'Santa Cruz',
'Maricopa', 'Yuma'])
然后是第二个数据帧,名为df\u extra,它有一个表示年份的字符串:
extra_data = {'year': [2012, 2013, 2014],
'yr_string': ['twenty twelve','twenty thirteen','twenty fourteen']}
df_extra = pd.DataFrame(extra_data)
现在,如何将值yr_string
作为新列添加到df中,其中数字年份在一行代码中匹配?你知道吗
我可以很容易地用几个for循环来实现这一点,但是我真的很想知道这是否可以用一行来实现,类似于列表理解?你知道吗
我已经在这里搜索了一些问题,但是没有讨论根据一行中的条件从另一个数据帧向现有数据帧添加新列。你知道吗
您可以^{} 年列上的数据框。你知道吗
基本上,这表示“将数据从
df_extra
拉入df
中year
列在df
中匹配的任何地方”。注意这将返回一个副本,而不是就地修改数据帧。你知道吗列表理解仍然是Python循环(这在技术上可能并不完全准确)。使用^{} 方法,您可以利用Pandas用于对其数据帧进行操作的向量化、优化的后端代码。应该快一点。你知道吗
相关问题 更多 >
编程相关推荐