将dataframe列折叠为单个字符串

时间:2015-11-05 05:37:47

标签: python pandas

我有一个pandas数据帧如下......

import pandas as pd 
import numpy as np
df = pd.DataFrame(np.array([['abc', 11], ['xyz', 21],['pqr',31]]),columns=['member','value'])

我需要的是将输出作为SQL查询的单个字符串中的列'member'折叠如下...

"select * from table1 where member in ('abc','xyz','pqr')"

在我的原始数据中,我有大量的值。我无法找到一种方法来解决以前的问题搜索。有没有办法在不使用循环的情况下执行此操作?感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用有趣列的tolist方法,然后将其转换为元组,然后转换为字符串:

import pandas as pd 
import numpy as np
df = pd.DataFrame(np.array([['abc', 11], ['xyz', 21],['pqr',31]]),columns=['member','value'])

sql_string = "select * from table1 where member in "
members = tuple(df.member.tolist())
query = sql_string + str(members)