擅长:python、mysql、java
<p>你可以这样排:</p>
<pre><code>import pandas as pd
import numpy as np
# Create the dataframe
df = pd.DataFrame()
df['id']=[123,223,323,423]
df['Vote1']=['Positive']*4
df['Vote2']=['Negative']*3+['Positive']
df['Vote3']=['Positive','Neutral','Negative','']
mostCommonVote=[]
for row in df[['Vote1','Vote2','Vote3']].values:
votes, values = np.unique(row, return_counts=True)
if np.all(values<=1):
mostCommonVote.append( row[0] )
else:
mostCommonVote.append( votes[np.argmax(values)] )
df['Winner'] = mostCommonVote
</code></pre>
<p>结果:</p>
^{pr2}$
<p>它可能不是最优雅的解决方案,但它相当简单。它使用numpy函数<strong>unique</strong>,该函数可以返回行中每个唯一字符串的计数。在</p>