我有一个数据框架:
s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])
df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"])
A B C
0 5 6 7
1 7 8 9
[2 rows x 3 columns]
并且我需要添加第一行[2,3,4],得到:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
我尝试过append()和concat()函数,但找不到正确的方法。
如何添加/插入系列数据帧?
对于那些想要连接前一个数据帧的行,使用双括号([[…]])作为iloc。
s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])
df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"])
# A B C
# 0 5 6 7
# 1 7 8 9
pd.concat((df.iloc[[0]], # [[...]] used to slice DataFrame as DataFrame
df), ignore_index=True)
# A B C
# 0 5 6 7
# 1 5 6 7
# 2 7 8 9
若要复制或复制任意时间,请与星号组合。
pd.concat((df.iloc[[0]],
df,
*[df.iloc[[1]]] * 4), ignore_index=True)
# A B C
# 0 5 6 7
# 1 7 8 9
# 2 7 8 9
# 3 7 8 9
# 4 7 8 9
您可以简单地将行追加到DataFrame的末尾,然后调整索引。
例如:
df = df.append(pd.DataFrame([[2,3,4]],columns=df.columns),ignore_index=True)
df.index = (df.index + 1) % len(df)
df = df.sort_index()
或者使用concat as:
df = pd.concat([pd.DataFrame([[1,2,3,4,5,6]],columns=df.columns),df],ignore_index=True)