将所有数据框元素转换为字符串,包括列和索引

时间:2018-04-30 14:06:07

标签: python pandas dataframe

这就是我目前的做法:

# Turn all table elements to strings
df = df.astype(str)
df.columns = df.columns.map(str)
df.index = df.index.map(str)

是否有单行将df数据,列和indeces转换为字符串?

更新

出于好奇,我计时了各种答案。

我的方法:每个循环909μs±37.9μs(平均值±标准偏差,7次运行,每次1000次循环)

@ Wen的方法:每循环749μs±41.7μs(平均值±标准偏差,7次运行,每次1000次循环)

@ COLDSPEED的方法:每个循环732 ns±44.4 ns(平均值±标准偏差,7次运行,每次1000000次循环)

因此接受了答案。

2 个答案:

答案 0 :(得分:4)

由于你提到了一个班轮,你可以重新创建你的df。

new_df = pd.DataFrame(
   data=df.values.astype(str),
   columns=df.columns.astype(str),
   index=df.index.astype(str)
)

答案 1 :(得分:4)

这根本不是一个糟糕的问题。好吧,@ Win有明显的from pandas_datareader import data as pdr import fix_yahoo_finance as yf yf.pdr_override() # <== that's all it takes :-) # download dataframe df = pdr.get_data_yahoo('GOOGL', start="2010-01-01", end="2018-04-30") df.to_csv('GOOGL') 解决方案。还有一些创新的解决方案。
让我们尝试使用astype更有趣的东西。

operator.methodcaller