2015-12-29 189 views
0

如何將一行附加到新的數據框?我只看到了附加整個數據框的例子。我正在使用iterrows,所以我有我想追加到新數據框的行的索引。Dataframe追加一行

for index1, row1 in df.iterrows(): 
    if df.iloc[index][0] == "Text": 

在這個if語句裏面我想追加那行。

+0

您是否想將DataFrame中的某行添加到同一個DataFrame中? –

回答

0

如果你想追加一行到數據框,你必須先將它分配給一個變量。例如,如果你想在你的數據幀中的第一行追加到相同的數據框:

r = df.iloc[0] 
df.append(r, ignore_index=True) 
0

我有熊貓一DataFrames:

import pandas as pd 
inp = [{'c1':10, 'c2':100}, {'c1':11,'c2':110}, {'c1':12,'c2':120}] 
df = pd.DataFrame(inp) 
print df 

輸出:

c1 c2 
0 10 100 
1 11 110 
2 12 120 

然後,您可以在新的DataFrame中附加特定的行。

for index, row in df.iterrows(): 
    if row[0] == 10: 
     new_df = pd.DataFrame(row).transpose() 
print new_df 

輸出:

c1 c2 
0 10 100 

我建議看this answer有關數據幀迭代速度。

0

要將一行數據添加到現有數據框,您應該提供符合現有數據框的一行數據。

df 
Out[40]: 
    A B 
0 foo 1 
1 bar 1 
2 foo 2 
3 bar 3 
4 foo 2 
5 bar 2 
6 foo 1 
7 foo 3 

df.append({'A':"foobar",'B':4},ignore_index=True,) 
Out[45]: 
     A B 
0  foo 1 
1  bar 1 
2  foo 2 
3  bar 3 
4  foo 2 
5  bar 2 
6  foo 1 
7  foo 3 
8 foobar 4 

df.append(pd.Series(["barfoo",54],index=['A','B']),ignore_index=True,) 
Out[46]: 
     A B 
0  foo 1 
1  bar 1 
2  foo 2 
3  bar 3 
4  foo 2 
5  bar 2 
6  foo 1 
7  foo 3 
8 barfoo 54