我有一个数据框架:
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()函数,但找不到正确的方法。
如何添加/插入系列数据帧?
s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])
df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"])
要在任意位置插入新行,可以指定行位置:
Row_pos = -1用于在顶部插入
或者row_pos = 0.5用于在第0行和第1行之间插入。
row_pos = -1
insert_row = [2,3,4]
df.loc[row_pos] = insert_row
df = df.sort_index()
df = df.reset_index(drop = True)
row_pos = -1
The outcome is:
A B C
0 2 3 4
1 5 6 7
2 7 8 9
row_pos = 0.5
The outcome is:
A B C
0 5 6 7
1 2 3 4
2 7 8 9
我们可以使用numpy.insert。这具有灵活性的优点。您只需要指定要插入的索引。
s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])
df = pd.DataFrame([list(s1), list(s2)], columns = ["A", "B", "C"])
pd.DataFrame(np.insert(df.values, 0, values=[2, 3, 4], axis=0))
0 1 2
0 2 3 4
1 5 6 7
2 7 8 9
np.insert (df。Values, 0, Values =[2,3,4], axis=0), 0告诉函数要放置新值的位置/索引。