Python附加到数据框中的特定列

我有一个包含 3 列的数据框 df 和一个循环,根据循环的列名从文本文件创建字符串:


exampletext = "Nr1 thisword1 and Nr2 thisword2 and Nr3 thisword3"

Columnnames = ("Nr1", "Nr2", "Nr3")

df1= pd.DataFrame(columns = Columnnames)

for i in range(0,len(Columnnames)):

   solution = exampletext.find(Columnnames[i])

   lsolution= len(Columnnames[i])

   Solutionwords = exampletext[solution+lsolution:solution+lsolution+10]

现在我想在正确字段中的数据帧 df1 的末尾附加 solutionwords,例如,在查找 Nr1 时,我想将 solutionwords 附加到名为 Nr1 的列。我尝试使用 append 并创建一个列表,但这只会附加在列表的末尾。我需要数据框根据我要查找的单词来分隔单词。感谢您的任何帮助!


编辑所需的输出和可读性:所需的输出应该是一个数据框,如下所示:


Nr1 | Nr2 | Nr3


这个词1 | thisword2 | 这个词3


墨色风雨
浏览 140回答 1
1回答

慕标5832272

我假设你的单元格值总是跟在你的列名后面,并用空格分隔。在这种情况下,我可能会尝试通过将您的值添加到字典中,然后在它包含您想要的数据后从中创建一个数据框来实现这一点,如下所示:example_text = "Nr1 thisword1 and Nr2 thisword2 and Nr3 thisword3"column_names = ("Nr1", "Nr2", "Nr3")d = dict()split_text = example_text.split(' ')for i, text in enumerate(split_text):    if text in column_names:        d[text] = split_text[i+1]df = pd.DataFrame(d, index=[0])这会给你:>>> df          Nr1        Nr2        Nr30  thisword1  thisword2  thisword3
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python