搜索一个单词并插入一个空行

时间:2019-02-01 05:45:43

标签: python python-3.x pandas

我是python和开发代码的新手

我想在一列中搜索一个单词,如果找到匹配项,我想在其下插入一个空行。

我的代码在下面

If df.columnname=='total':
  Df.insert

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

请尝试以下操作:

>>>df

         id     Label
0         1       A
1         2       B
2         3       B
3         4       B
4         5       A
5         6       B
6         7       A
7         8       A
8         9       C
9        10       C
10       11       C

# Create a separate dataframe with the id of the rows to be duplicated
df1 = df.loc[df['Label']=='B', 'id']
# Join it back and reset the index
df = pd.concat(df,df1).sort_index()

>>>df
             id     Label
    0         1       A
    1         2       B
    2         2       NaN
    3         3       B
    4         3       NaN
    5         4       B
    6         4       NaN
    7         5       A
    8         6       B
    9         6       NaN
   10         7       A
   11         8       A
   12         9       C
   13        10       C
   14        11       C

答案 1 :(得分:0)

使用以下代码:

from numpy import nan as Nan
import pandas as pd

df1 = pd.DataFrame({'Column1': ['A0', 'total', 'total', 'A3'],'Column2': ['B0', 'B1', 
'B2', 'B3'],'Column3': ['C0', 'C1', 'C2', 'C3'],'Column4': ['D0', 'D1', 'D2', 
'D3']},index=[0, 1, 2, 3])

count = 0
for index, row in df1.iterrows():
    if row["Column1"] == 'total':
        df1 = pd.DataFrame(np.insert(df1.values, index+1+count, values=[" "] 
             * len(df1.columns), axis=0),columns = df1.columns)
        count += 1
print (df1)

输入:

  Column1 Column2 Column3 Column4
0      A0      B0      C0      D0
1   total      B1      C1      D1
2   total      B2      C2      D2
3      A3      B3      C3      D3

输出:

  Column1 Column2 Column3 Column4
0      A0      B0      C0      D0
1   total      B1      C1      D1
2                                
3   total      B2      C2      D2
4                                
5      A3      B3      C3      D3