[英]How do I create a new column of max values of a column(corresponding to specific name) using pandas?
[英]How do I create a new column in pandas using calculated values and assign specific values to each row?
我有一個 dataframe df 喜歡
Cards Height State Hash
0 1615427359331 ... 1945 3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0 1615427359331 ... 1952 3NK38AjJUMvcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0 1615427359331 ... 1958 3NK38AjJUMDhEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0 1615427359331 ... 1952 3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT...
0 1615427359331 ... 1957 3NK38AjJUMhDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT..
我已經計算了 dataframe 中出現次數最多的 State hash 的值和高度的中位數
使用這兩個計算值,我如何創建一個新列 ON/OFF。 並將值設置為 1 或 0。如果這兩個計算值匹配,則將設置值 1,否則將值設置為 0。如何使用 Pandas dataframe 執行此操作? 請幫忙。 謝謝!
**編輯:**這是我迄今為止嘗試過的
if [(dataframe['Block Height'] == median_highest_blocklen_recievd) & (dataframe['State Hash'] == most_commonrec_stat_hash)]:
dataframe['online/offline'] = 1
if [(dataframe['Block Height'] != median_highest_blocklen_recievd) | (dataframe['State Hash'] != most_commonrec_stat_hash)]:
dataframe['online/offline'] = -1
這給了我 dataframe 作為
Cards Height State Hash Online/Offline
0 1615427359331 ... 1945 3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT... -1
0 1615427359331 ... 1952 3NK38AjJUMvcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT... -1
0 1615427359331 ... 1958 3NK38AjJUMDhEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT... -1
0 1615427359331 ... 1952 3NK38AjJUMDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT... -1
0 1615427359331 ... 1957 3NK38AjJUMhDcEkPVaTWKsMcccUWXywgpMRseaNNPz6gyhT.. -1
我不太確定你的用例是什么,但你肯定想在哪里使用 numpy
例如:
df['ON/OFF'] = np.where((df['Height']==median_height) & (df['State Hash']==mode_hash),1,0)
一種方法是使用 apply:
df['New'] = df.apply(lambda x: 1 if x['Height'] == median_height and x['State Hash'] == calculated_hash else 0, axis = 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.