如何根据第一列中的条件在熊猫中添加新行?

时间:2019-10-13 14:36:41

标签: python pandas dataframe iteration

我有以下熊猫数据框:示例input data

我只想遍历第一列中的行,如果满足条件(即包含字符串“ hello”),我想在此之上添加一个空行,仅填充第一列。 / p>

示例output

我尝试过: df.loc[0] ='My new title'

这会添加一行,但标题在每一列上。

我猜语法会是这样的: `

for i in df.iloc[0]:
    if i == 'hello':
    df.loc[-1] ='My new title'
print(df)

` 这也不起作用-有人可以指出我正确的方向。谢谢

1 个答案:

答案 0 :(得分:0)

您可以通过这种方式添加新行

import pandas

data = [['tom', 10], ['nick', 15], ['juli', 14]] 
df = pandas.DataFrame(data, columns = ['Name', 'Age']) 

df2 = pandas.DataFrame([['My new title', None]], columns = ['Name', 'Age'])
rownumber = 0
for i in df.iloc[0:,0]:

    if i == "nick":
        df = pandas.concat([df.iloc[:rownumber], df2, df.iloc[rownumber:]]).reset_index(drop=True)
        rownumber += 1

    rownumber += 1

这将在每个“缺口”之前添加新行