Python 使用Pandas将值放入变量中

Python 使用Pandas将值放入变量中,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有这个csv文件: Names Credit 0 James 21 1 John 34 2 Lucas 20 3 William 11 我想用Pandas做的是:如果我输入像John这样的名字,我想在变量中加上他的积分,用它做一些数学运算 我正在尝试这个: import pandas as pd df = pd.read_csv('file.csv') n = input('Enter a name: ') x = df

我有这个csv文件:

  Names  Credit
0    James      21
1     John      34
2    Lucas      20
3  William      11
我想用Pandas做的是:如果我输入像John这样的名字,我想在变量中加上他的积分,用它做一些数学运算

我正在尝试这个:

import pandas as pd

df = pd.read_csv('file.csv')

n = input('Enter a name: ')
x = df[df['Names'] == n]['Credit']

print(x)
但对我来说不起作用:

Enter a name: John
1    30
Name: Credit, dtype: int64
(我只想得到数字:30)

你可以
.squence()
最后一个维度:

>>> df[df.name == 'John']['credit'].squeeze()
30

x是熊猫系列,如果您只需要一个值,可以这样做:

x = df[df['Names'] == n]['Credit'].tolist()[0]
但是,如果您的数据框中有两个“John”,那么您将只获得第一个的积分,因此请确保您的名称列始终是唯一的。如果它总是唯一的,请考虑以下事项:

df = df.set_index('Name', drop=True)
这将使“名称”成为您数据框的索引,然后您可以通过以下方式更轻松地获得积分:

x = df.loc[n, 'Credit']

您需要的是
loc

n = input('Enter a name: ')
x = df.loc[df['Names'] == n, 'Credit']

使用:
df[df['Name']=='John'].loc[:,'Credit'].squeak()
Yes!我也这么想,但是如果他想只通过名字来查询信用卡,他必须只有唯一的名字,否则会发生冲突