python - 如何根据第一列的条件在熊猫中添加新行?
问题描述
我有以下熊猫数据框:输入数据示例
我想只遍历第一列中的行,如果它满足条件(即包含字符串'hello'),我想在上面添加一个空行,只填充第一列。
示例输出
我试过了:
df.loc[0] ='My new title'
这会添加一行,但标题位于每一列。
我猜语法会是这样的:`
for i in df.iloc[0]:
if i == 'hello':
df.loc[-1] ='My new title'
print(df)
` 这也不起作用 - 有人能指出我正确的方向吗?谢谢
解决方案
您可以通过这种方式添加新行
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
这将在每个“昵称”之前添加一个新行
推荐阅读
- c# - JsonConvert.DeserializeAnonymousType 绕过数组
- java - Java 并发,同步。我在一个方法中增加两个变量,但它们是不同的
- r - 在 r(不是 ggplot)中使用 barplot 绘图时从列中删除某种数据
- c++ - 如何使用 ofstream c++ 替换文本文件中的特定值?
- algorithm - 棋盘上的骑士-最短路径
- python - 如何在pyspark中使用map进行rest api调用
- java - 如何在 Java 中创建对 MongoDB 没有价值的文档
- javascript - console.log 表示每次通话都成功,但 twiiter 没有显示转推
- c# - 在 C# 中合并间隔与合并距离
- mysql - 未标记空时的 SQL 案例