我有以下数据帧:
state city alt_city
FL FT. PIERCE FORT PIERCE
FL FT. PIERCE FORTPIERCE
FL FT. PIERCE FT.PIERCE
FL FORT PIERCE FORTPIERCE
FL FORT PIERCE FT PIERCE
FL FORT PIERCE FT. PIERCE
FL FORT PIERCE FT.PIERCE
FL FORT PIERCE FTPIERCE
AK ANCHORAGE ANCH
AK ANCHORAGE ANCHORAGE
我想根据一定的条件从中生成一本词典:
以下是伪代码:
^{pr2}$如果我使用以下代码在dataframe上应用它:
cs_d = {}
cs_dict = df.apply(lambda x: map_df_to_dict(cs_d,x['state'],x['city'],x['alt_city']), axis=1)
然后它将为dataframe中的每一行返回dictionary。在
但是我怎样才能在一个数据帧上应用它,这样它就不会返回奇怪的结果呢。在
在数据帧应用为每行(或列)运行函数。 这就是为什么你会得到多个口述。在
https://pandas.pydata.org/pandas-docs/version/0.22/generated/pandas.DataFrame.apply.html
DataFrame.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
沿数据帧的输入轴应用函数。在
传递给函数的对象是具有数据帧索引(轴=0)或列(轴=1)的序列对象。在
参数:函数:应用于每列/行的函数
您可以通过在函数范围之外声明字典“全局”来获取单个字典。考虑下面的伪代码,将pandas系列中的每个数字加2。在
将此函数应用于测试_a时,得到以下结果:
^{pr2}$global_dict={1:3,2:4,3:5}
希望这有帮助。在
相关问题 更多 >
编程相关推荐