文档至少从 0.24.2 版本开始,指定 pandas.concat 可以忽略索引,ignore_index=True,但是
请注意,其他轴上的索引值在 加入。
有没有办法避免这种情况,即仅根据位置连接,而忽略列的名称?
我看到两个选项:
- 重命名列以使其匹配,或者
- 转换为 numpy,连接 Numpy,然后从Numpy回到熊猫
还有更优雅的方式吗?
例如,如果我想将序列 s 作为附加行添加到数据帧 df 中,我可以:
- 将 s 转换为帧
- 转置它
- 重命名其列,使它们成为 与DF相同
- 连接
它有效,但似乎非常"非蟒蛇"!
下面是一个玩具示例;此示例包含数据帧和序列,但相同的概念适用于两个数据帧。
import pandas as pd
df=pd.DataFrame()
df['a']=[1]
df['x']='this'
df['y']='that'
s=pd.Series([3,'txt','more txt'])
st=s.to_frame().transpose()
st.columns=df.columns
out= pd.concat( [df, st] , axis=0, ignore_index=True)
在 1dataframe
和 1series
的情况下,您可以执行以下操作:
df.shape[0], :] = s.values