【发布时间】:2015-11-28 13:44:18
【问题描述】:
我想用一个引用列的格式化字符串来表示 pandas DataFrame 中的一行。我发现的最好方法是将行转换为 dict 然后 string.format()
假设 pd.DataFrame df 包含“样本”和“日期”列:
r = df.loc[0]
print("{specimen}_{date}".format(**r.to_dict()))
可用于使用列数据应用格式字符串。
这似乎不是很有效。是否必须有更好的方法直接在 pandas 中执行此操作而无需转换为 dict,同时保持在格式字符串中显式命名列的灵活性?
更新:
最终目的是为 matplotlib 图生成刻度标签。使用下面的答案:
plot.set_yticklabels(["{specimen}_{date}".format(**r) for i,r in df.iterrows()])
【问题讨论】: