我有一个具有地名,分数A和分数B的csv文件,我想提取每个位置的分数A和分数B值。在熊猫的帮助下,我阅读了csv并将其存储在如下所示的DF中
import pandas as pd
csvdf = pd.read_csv("E:\redsa.csv")
print(csvdf)
我得到以下输出
Place ScoreA ScoreB
0 Place 1 108 775
1 Place 2 109 781
我想为每个位置提取分数A和分数B值并将它们存储在单独的变量中,我为此在下面尝试过
for row in csvdf.iterrows():
print(csvdf['ScoreA'],csvdf['ScoreB'])
我的输出低于
0 108
1 109
Name: ScoreA, dtype: float64 0 775
1 781
Name: ScoreB, dtype: float64
0 108
1 109
Name: ScoreA, dtype: float64 0 775
1 781
Name: ScoreB, dtype: float64
我想遍历每个地方并获取ScoreA和ScoreB并将它们存储在各自的变量中,我该如何做到这一点
我相信您需要apply
使用axis=1
for逐行循环,因为如果可能的话,最好避免迭代,以免降低性能:
def func(x):
print (x['ScoreA'])
print (x['ScoreB'])
#code
return x
df = csvdf.apply(func, axis=1)
print (df)
您可以从第一个索引Place
的参数列index_col
中read_csv
,然后选择列-输出为Series
:
csvdf = pd.read_csv("E:\redsa.csv", index_col=[0])
print (csvdf['ScoreA'])
Place
Place 1 108
Place 2 109
Name: ScoreA, dtype: int64
print (csvdf['ScoreB'])
Place
Place 1 775
Place 2 781
Name: ScoreB, dtype: int64
或按子集选择-输出为2列DataFrame:
csvdf = pd.read_csv("E:\redsa.csv")
print (csvdf[['Place','ScoreA']])
Place ScoreA
0 Place 1 108
1 Place 2 109
print (csvdf[['Place','ScoreB']])
Place ScoreB
0 Place 1 775
1 Place 2 781
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句