gpt4 book ai didi

python - Pandas 数据框的一个特定项目的计数

转载 作者:太空宇宙 更新时间:2023-11-04 04:44:11 25 4
gpt4 key购买 nike

我已经使用下面的行来获取数量

从文件的特定列(包含 READ、WRITE、NOP)“读取”。这不是 csv 文件,而是一个以\t 作为分隔符的 .out 文件。

    data = pd.read_csv('xaa',usecols=[1], header=None,delimiter='\t')
df2=df1.iloc[start:end,]

count=df2.str.count("R").sum()

我遇到了错误

AttributeError:

'DataFrame' object has no attribute 'str'

但是当我使用

 if filename.endswith(".csv"): 
data = pd.read_csv(filename)
df1=data.loc[:,"operation"]
df2=df1.iloc[start:end,]
count=df2.str.count("R").sum()

没有错误。但在这里我必须输入每个 csv 文件。我必须打开文件并在我需要的列中插入“操作”。请给个灵魂

最佳答案

我认为需要为 Series 选择列 1,否则获取一列 DataFrame:

count=df2[1].str.count("R").sum()

或按eq比较和 Truesum:

count=df2[1].eq("R").sum()

编辑:

另一种解决方案是通过参数squeezeread_csv中返回Series:

s = pd.read_csv('xaa',usecols=[1], header=None,delimiter='\t', squeeze=True)

count=s.iloc[start:end].str.count("R").sum()

#for another solution
#count=s.iloc[start:end].eq("R").sum()

示例:

df2 = pd.DataFrame({1:['R','RR','Q']})
print (df2)
1
0 R
1 RR
2 Q

#count all substrings
count=df2[1].str.count("R").sum()
print (count)
3

#count only strings
count=df2[1].eq("R").sum()
print (count)
1

关于python - Pandas 数据框的一个特定项目的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49976644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com