【发布时间】:2021-05-03 10:48:21
【问题描述】:
我有一个这样的数据框data:
我想要这样的输出:
-
名字1
句子1
句子2
句子3
-
名字2
句子4
-
名字3
句子5
句子6
这是我到目前为止所做的:
first = True
for i in range(0, data.shape[0]):
if data['Name'][i+1] == data['Name'][i] :
if first:
first = False
print(data['Name'][i])
print()
print(data['Sentences'][i])
else:
print()
print(data['Sentences'][i])
if data['Name'][i] != data['Name'][i+1] :
print(data['Name'][i])
print(data['Sentences'][i])
else :
print()
但这并没有给我正确的输出,名称没有打印在我想要的位置。我想我在循环中放错了地方或忘记了一些东西,但是什么?
谢谢
编辑:我想我明白了!我想知道我是否正确,这就是我在代码中所做的更改:
first = True
for i in range(0, data.shape[0]):
if data['Name'][i+1] == data['Name'][i] :
if first:
first = False
print(data['Name'][i])
print()
print(data['Sentences'][i])
else:
print()
print(data['Sentences'][i])
if data['Name'][i] != data['Name'][i+1] :
print(data['Name'][i+1]) #i+1 instead of i
print(data['Sentences'][i+1])# i+1 instead of i
else :
print()
【问题讨论】:
标签: python python-3.x pandas loops if-statement