我的问题是如何使用 DataFrame 的 append() 方法干净地向 DataFrame 追加一行?
根据docs,append() 将“DataFrame 或 Series/dict-like 对象,或这些对象的列表”作为参数。鉴于描述,我认为这样的事情应该是可能的,但我找不到正确的语法:
df = pd.DataFrame(columns=('x', 'y', 'label'))
df.append([2, 4, 1]) # Does not work
Run Code Online (Sandbox Code Playgroud)
我可以追加一行,df.loc[len(df)] = [4, 4, 1]但这不是很干净。
需要或相同或相同:DataFrame.appendSeriesDataFrameindexcolumns namesdf
df1 = pd.DataFrame([[2, 4, 1]], columns=('x', 'y', 'label'))
print (df1)
x y label
0 2 4 1
df = df.append([pd.Series([4, 4, 1], index = df.columns)], ignore_index=True)
df = df.append(df1, ignore_index=True)
#your solution
df.loc[len(df)] = [4, 4, 1]
print (df)
x y label
0 4.0 4.0 1.0
1 2.0 4.0 1.0
2 4.0 4.0 1.0
Run Code Online (Sandbox Code Playgroud)
#dont align because default columns names
df = df.append([[4, 4, 1]])
print (df)
x y label 0 1 2
0 NaN NaN NaN 4.0 4.0 1.0
Run Code Online (Sandbox Code Playgroud)
但如果默认列名:
df = pd.DataFrame(columns=range(3))
print (df)
Empty DataFrame
Columns: [0, 1, 2]
Index: []
df = df.append([[4, 4, 1]])
print (df)
0 1 2
0 4.0 4.0 1.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3103 次 |
| 最近记录: |