我有一个看起来像这样的数据框:
Col1 Col2 ..... Col48
078 abc 0.99
097 def 0.91
027 xyz 0.66
065 90 0.76
我想在最后一行之后添加所有值为'0'的新行。因此,新的df应该如下所示:
Col1 Col2 ..... Col48
078 abc 0.99
097 def 0.91
027 xyz 0.66
065 bcd 0.76
0 0 0
此后,我想将Col2值从0替换为“目标”,这样最终的数据帧将如下所示:
Col1 Col2 ..... Col48
078 abc 0.99
097 def 0.91
027 xyz 0.66
065 bcd 0.76
0 target 0
代码:
df.loc[len(df)] = 0
df['Col2'] = df['Col2'].astype(str)
df['Col2'].str.replace('0','target')
答案 0 :(得分:1)
使用setting with enlargement,默认为RangeIndex
:
df.loc[len(df)] = 0
print (df)
Col1 Col2 Col48
0 78 abc 0.99
1 97 def 0.91
2 27 xyz 0.66
3 65 90 0.76
4 0 0 0.00
另一种解决方案是一起创建一列DataFrame
和concat
:
df1 = pd.DataFrame(np.repeat(0, len(df.columns))[None, :],
columns=df.columns,
index=[10])
df = pd.concat([df, df1])
print (df)
Col1 Col2 Col48
0 78 abc 0.99
1 97 def 0.91
2 27 xyz 0.66
3 65 90 0.76
10 0 0 0.00