为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

墨色风雨 2021-08-17 17:15:21
我有一个包含 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
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

我假设你的单元格值总是跟在你的列名后面,并用空格分隔。在这种情况下,我可能会尝试通过将您的值添加到字典中,然后在它包含您想要的数据后从中创建一个数据框来实现这一点,如下所示:


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        Nr3

0  thisword1  thisword2  thisword3


查看完整回答
反对 回复 2021-08-17
  • 1 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信