Python 数据帧追加一行

Python 数据帧追加一行,python,pandas,Python,Pandas,如何仅向新数据帧追加一行?我只看到了附加整个数据帧的示例。我正在使用iterrows创建一个新的数据帧,因此我有了要附加到新数据帧的行的索引 for index1, row1 in df.iterrows(): if df.iloc[index][0] == "Text": 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.

如何仅向新数据帧追加一行?我只看到了附加整个数据帧的示例。我正在使用iterrows创建一个新的数据帧,因此我有了要附加到新数据帧的行的索引

for index1, row1 in df.iterrows():
    if df.iloc[index][0] == "Text":
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

在这个if语句中,我想追加该行。

如果要将一行追加到数据帧,必须首先将其分配给变量。例如,如果要将数据帧中的第一行附加到同一数据帧:

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

我有一个来自熊猫的数据帧:

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
   c1   c2
0  10  100
然后,您可以在新的数据帧中追加特定的行

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

   c1   c2
0  10  100
1  11  110
2  12  120
   c1   c2
0  10  100

我建议查看关于数据帧迭代速度的信息。

要向现有数据帧添加一行数据,您应该提供与现有数据帧兼容的一行数据

for index1, row1 in df.iterrows():
    if df.iloc[index][0] == "Text":
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

是否希望将数据帧中的一行附加到同一数据帧?