我希望用一个格式化的字符串引用列来表示 pandas DataFrame 中的一行。我发现最好的方法是将该行转换为字典,然后使用 string.format()。
假设有一个具有列“specimen”和“date”的 pd.DataFrame df:
假设有一个具有列“specimen”和“date”的 pd.DataFrame df:
r = df.loc[0]
print("{specimen}_{date}".format(**r.to_dict()))
可以使用列数据应用格式字符串。
这种方法似乎不太高效。在保持显式命名列的灵活性的同时,是否有更好的方法可以直接在pandas中完成而无需转换为字典?
更新:
最终目的是为matplotlib图形生成刻度标签。使用下面的答案:
plot.set_yticklabels(["{specimen}_{date}".format(**r) for i,r in df.iterrows()])