动态将新字符串追加到现有字符串

时间:2019-02-26 05:43:46

标签: python python-3.x string pandas

我有一个数据框。

df = pd.DataFrame({'a':[1,1,2,2,2], 'b':['x','y','u','w','v']})

它应基于为列b传递的值来选择列a的值。 假设我要为列b中的值2选择列a的所有值,并产生以下字符串

There are 3 values for value 2.
1. u
2. w
3. v

我正在使用for循环进行操作,如下所示:

x = df[df['a']==2]['b'].values

result = "There are {} values for 2.\n".format(len(x))
z = ""
for i, val in enumerate(x):
    temp = "{}. {}\n".format(i+1, val)
    z += temp

print(result+z)

以上解决方案有效,但我正在寻找更有效的解决方案。

上下文:我正在创建一个聊天机器人响应。因此,尝试减少响应时间

欢迎提出任何建议。

2 个答案:

答案 0 :(得分:2)

您可以使用to_string

x = df.loc[df.a == 2, 'b']

print('There are {} values for value 2.\n'.format(len(x)))
print(x.reset_index(drop = True).to_string())

There are 3 values for value 2.

0    u
1    w
2    v

答案 1 :(得分:1)

另一种溶胶:

const MdFetch = async (name) => {
  const res = await fetch(
    `https://api.rss2json.com/v1/api.json?rss_url=https://medium.com/feed/${name}`
  );
  return await res.json();
};