[英]Count each value in a column within the column in dataframe
我正在努力執行以下操作,想知道您是否可以幫助我。
我有一個 2 列的熊貓數據框。 我想計算 A 列中 A 列中的每個值。如果出現次數超過 1,則 print('hello')
例如,
for i in range(1, len(DF)) **if count(DF.iloc[[i],[1]].values)>1:** print('hello')
什么幫助嗎?
謝謝,H
如果要在出現多次時打印 'hello':
if (df['A'] > 1).count() > 1:
print('hello')
如果你想在每次出現時打印 'hello':
您可以使用df.apply()
將打印 lambda 函數應用於您的列:
df['A'].apply(lambda x: print('hello') if x > 1 else None)
或者計算 A 中所有大於 1 的值並循環打印:
for i in range(0, (df['A'] > 1).count()):
print('hello')
我認為你需要Series.value_counts
如果你想打印一次 hello 如果有任何重復使用的值:
if df['A'].value_counts().gt(1).any():
print('hello')
如果要為重復的系列中的每個值打印 hello:
print('Hello\n'*df['A'].map(df['A'].value_counts().gt(1)).sum())
如果要為重復的系列中的每個唯一值打印 hello
print('Hello\n'*df['A'].value_counts().gt(1).sum())
例子
df = pd.DataFrame({'A':[1,2,3,1,4,4,5,7,8,9,3]})
print(df)
A
0 1
1 2
2 3
3 1
4 4
5 4
6 5
7 7
8 8
9 9
10 3
if df['A'].value_counts().gt(1).any():
print('hello\n')
print('2 Method\n')
print('Hello\n'*df['A'].map(df['A'].value_counts().gt(1)).sum())
print('3 Method\n')
print('Hello\n'*df['A'].value_counts().gt(1).sum())
輸出
hello
2 Method
Hello
Hello
Hello
Hello
Hello
Hello
3 Method
Hello
Hello
Hello
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.