【发布时间】:2019-11-18 19:16:39
【问题描述】:
假设你有两个单独的 pandas DataFrames 具有相同的行和列索引(在我的例子中,列索引是通过 .unstack()'ing 使用 df.groupby([col1,col2]) 构建的 MultiIndex 构建的)
df1 = pd.DataFrame({'a':[.01,.02,.03],'b':[.04,.05,.06]})
df2 = pd.DataFrame({'a':[.04,.05,.06],'b':[.01,.02,.03]})
现在假设我想创建第三个 DataFrame,df3,其中 df3 的每个条目都是一个字符串,它使用 df1 和 df2 的相应元素条目。例如,
df3.iloc[0,0] = '{:.0%}'.format(df1.iloc[0,0]) + '\n' + '{:.0%}'.format(df2.iloc[0,0])
我认识到这可能很容易通过循环遍历 df1 和 df2 中的所有条目并根据这些值在 df3 中创建一个新条目(对于大型 DataFrames 可能会很慢),或者甚至将两个 DataFrames 连接在一起(这可能需要重命名列),但我想知道是否有更 Pythonic/pandorable 的方式来实现这一点,可能使用 applymap 或其他一些内置的 pandas 函数?
问题与Combine two columns of text in dataframe in pandas/python类似,但上一个问题没有考虑将多个DataFrame合并为一个。
【问题讨论】:
标签: python-3.x pandas dataframe concatenation