簡體   English   中英

如何計算python(pandas)中某一列中的數據?

[英]how to count data in a certain column in python(pandas)?

希望你做得很好 。 我嘗試在下表 [1] 中的另一個綠色行之后計算綠色行:df = pd.DataFrame([[green], [red], [red]], columns=['A'])

我試圖計算greengreen的代碼:

 for index,row in data.iterrows():
   if finalData['Color'].loc[i]=='green' & finalData['Color'].loc[i+1]=='green':
    greengreen+=1
    i+=1

但它沒有工作,希望你能幫忙。 注意:我是數據科學的新手

您可以使用:

# is the color green?
m = df['color'].eq('green')
# count the matches that precede another match
greengreen = (m&m.shift()).sum()

作為單線(python ≥ 3.8):

greengreen = ((m:=df['color'].eq('green'))&m.shift()).sum()

示例輸入:

df = pd.DataFrame({'color': ['green', 'green', 'green', 'red', 'green', 'red', 'green', 'green']})

輸出: 3

data = {'col1': ['A','B','C','D'],\
        'col2': ['green','green', 'red','green']}
df = pd.DataFrame(data) 
df
指數 col1 col2
0 一個 綠色
1 綠色
2 C 紅色的
3 D 綠色
df.col2.values
greengreen = 0
greenred = 0
redgreen = 0

for i in range(len(df.col2.values)):
  if i < (len(df.col2.values)-1): 
    if df.col2.values[i] == 'green' and df.col2.values[i+1] == 'green':
      greengreen += 1
    elif df.col2.values[i] == 'green' and df.col2.values[i+1] == 'red':
      greenred += 1
    elif df.col2.values[i] == 'red' and df.col2.values[i+1] == 'green':
      redgreen += 1
    else:
      print('?')

print(greengreen, greenred, redgreen)
1 1 1

國際大學聯合會,

count = (df['Color'].eq('green') & df['Color'].shift().eq('green')).sum()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM