我在用连词造句.

我有一个包含列的数据帧

df = df[['fullName', 'Location', 'College', 'Degree_location', 'Degree', 'Jobs', 'Company',  'Date', 'LocationJob', 'Avg_rounded']]

我正在try 将列的每一行与硬编码的句子相匹配,即

name_placeholder = "My name is "
location_placeholder = "I live in "
college_placeholder = "I went to "
collloc_placeholder = " in "
degree_placeholder = "I have a degree in "
job_placeholder = "I have work as "
company_placeholder = " in companies "
date_placeholder = "I have work from "
jobloc_placeholder = "My job locations have been "
avgdistance_placeholder = "The average distance between my locations is "
placeholders = name_placeholder, location_placeholder, college_placeholder, collloc_placeholder, degree_placeholder, job_placeholder, company_placeholder, date_placeholder, jobloc_placeholder, avgdistance_placeholder

我希望故事的结尾会是"我的名字是[全名].我住在[地点].我上的是[学院]"等等.

如果我使用for循环来访问数据帧的行,即:

for x in profiles:
  for y in x:
     print(y)

我得到了预期的结果.

然而,我正在试着从数据框中造出句子.

我已经try

for x in profiles:
  for y in x:
    for pl, pr in zip(cycle(placeholders), y):
       print(pl + pr)

但这给了我

My name is A
I live in d
I went to a
 in m
I have a degree in 

为什么数据框行打印每个字符而不是完整的字符串ie[fullName]?

根据我的理解,我组合了数据帧和占位符列表,并循环使用占位符,因为它的列表比数据帧短得多.

我哪里错了?

推荐答案

假设profilesdf中的一行,您不需要for y in x,因为这会try 迭代行中每个字符串值中的每个字符.只需使用:

for x in profiles:
    for pl, pr in zip(cycle(placeholders), x):
         print(pl + pr)

Python相关问答推荐

Python如何让代码在一个程序中工作而不在其他程序中工作

如何使用bs 4从元素中提取文本

Pydantic:如何将对象列表表示为dict(将列表序列化为dict)

Python中是否有方法从公共域检索搜索结果

如何在Python中使用io.BytesIO写入现有缓冲区?

Chatgpt API不断返回错误:404未能从API获取响应

Locust请求中的Python和参数

为什么tkinter框架没有被隐藏?

如何让剧作家等待Python中出现特定cookie(然后返回它)?

C#使用程序从Python中执行Exec文件

Streamlit应用程序中的Plotly条形图中未正确显示Y轴刻度

如果条件不满足,我如何获得掩码的第一个索引并获得None?

改进大型数据集的框架性能

python中的解释会在后台调用函数吗?

SQLAlchemy bindparam在mssql上失败(但在mysql上工作)

如何在两列上groupBy,并使用pyspark计算每个分组列的平均总价值

在方法中设置属性值时,如何处理语句不可达[Unreacable]";的问题?

找到相对于列表索引的当前最大值列表""

如何将数据帧中的timedelta转换为datetime

用两个字符串构建回文