Python 使用Pandas将值放入变量中
我有这个csv文件: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
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!我也这么想,但是如果他想只通过名字来查询信用卡,他必须只有唯一的名字,否则会发生冲突