Python 从数据帧构造URL查询

Python 从数据帧构造URL查询,python,pandas,dataframe,python-requests,Python,Pandas,Dataframe,Python Requests,采用以下形式的数据帧: fname lname age mark trumb 34 samb jones 26 我想使用requests模块构造一个url查询。 通常,我会这样构造url: payload = {'key1':'value1','key2':'value2'} headers = {'content-type': 'application'} base_url = 'https://website.com/' req = requests.post(base_url,hea

采用以下形式的数据帧:

fname lname age
mark  trumb 34
samb  jones 26
我想使用requests模块构造一个url查询。 通常,我会这样构造url:

payload = {'key1':'value1','key2':'value2'}
headers = {'content-type': 'application'}
base_url = 'https://website.com/'
req = requests.post(base_url,headers=headers,params=payload)
我如何最好地使用它,使dataframe列成为键,行成为值

新的输出列(req)如下所示:

fname lname age req
mark  trumb 34  https://website.com?fname=mark&lname=trumb&age=34
samb  jones 26  https://website.com?fname=samb&lname=jones&age=26
In [46]:
df['req'] = 'https://website.com?' + 'fname=' + df['fname'] + '&lname=' + df['lname'] + '&age=' + df['age'].astype(str)
df

Out[46]:
  fname  lname  age                                                req
0  mark  trumb   34  https://website.com?fname=mark&lname=trumb&age=34
1  samb  jones   26  https://website.com?fname=samb&lname=jones&age=26

您可以这样构建它:

fname lname age req
mark  trumb 34  https://website.com?fname=mark&lname=trumb&age=34
samb  jones 26  https://website.com?fname=samb&lname=jones&age=26
In [46]:
df['req'] = 'https://website.com?' + 'fname=' + df['fname'] + '&lname=' + df['lname'] + '&age=' + df['age'].astype(str)
df

Out[46]:
  fname  lname  age                                                req
0  mark  trumb   34  https://website.com?fname=mark&lname=trumb&age=34
1  samb  jones   26  https://website.com?fname=samb&lname=jones&age=26
动态方法可以通过将列名与以下值连接起来来实现:

In [106]:
def func(x):
    tuple_list = list(zip('&' + x.index + '=', x.astype(str)))
    return ''.join([''.join(item) for item in tuple_list])

df['req'] = r'https://website.com?' + df.apply(lambda x: func(x), axis=1)
df['req']

Out[106]:
0    https://website.com?&name=mark&lname=trumb&age=34
1    https://website.com?&name=samb&lname=jones&age=26
Name: req, dtype: object

是-但是,我应该说我想应用新的系列requests.post方法,以便练习向系列项传递函数。。例如,我可能有100个我不想写的专栏。