如何在 for 循环中向 Pandas Dataframe 添加字符串值?
Posted
技术标签:
【中文标题】如何在 for 循环中向 Pandas Dataframe 添加字符串值?【英文标题】:How to add string values to Pandas Dataframe within a for loop? 【发布时间】:2019-12-19 23:56:22 【问题描述】:我有一个 pandas 数据框 df_causation
,我已将其创建为具有相应列名的空数据框。
df_causation = pd.DataFrame(columns=['Question'])
我有一个for
循环,对于循环的每次迭代,我都会得到一个名为cause_str
的新字符串,如下所示:-
for i in range(len(X_test)):
cause_str = hyp.join(f_imp) #cause_str is a new string obtained for each iteration
(这个是怎么得到的方法忽略,我只是举个例子)
我想将这些新字符串 (cause_str)
(全部)附加到我的 Pandas 数据框 df_causation
的问题列中的每一行。有什么合适的方法吗?
编辑:预期输出
df_causation. **Causation**
Row 0 cause_str from i = 0 th iteration in loop
Row 1 cause_str from i = 1 th iteration in loop etc.
【问题讨论】:
您介意创建一个您正在寻找的输出的小例子吗?我很难全面了解这个问题。 请在编辑中找到预期的输出。谢谢@IvanLibedinsky 好的,谢谢。现在,我认为您应该做的是将cause_str
列一个列表,然后简单地定义 df_causation['Question'] = cause_str.如果长度正确,则list
的每个索引值将匹配数据框中的行。
您阅读过 Pandas 文档吗?正如@CeliusStingher 所说,您似乎只需要列分配,对吧?
【参考方案1】:
IIUC 正确,这应该可以工作:
dfd['**Causation**'] = df['df_causation.'].apply(lambda x: f'cause str from i = x.split(" ")[1] th iteration in loop')
df3
df_causation. **Causation**
0 Row 0 cause str from i = 0 th iteration in loop
1 Row 1 cause str from i = 1 th iteration in loop
【讨论】:
以上是关于如何在 for 循环中向 Pandas Dataframe 添加字符串值?的主要内容,如果未能解决你的问题,请参考以下文章