我的功课遇到问题。我的目标是比较第一列第一行和第二列第二行。
我是 Pandas 新手,所以我尝试在互联网上浏览答案,但遗憾的是没有。我想到了一种方法,即将 pandas 转换为数组,并将第一列存储到第一个数组,第二列存储到第二个数组。
first_array = [4,10,17,24,82,93,35,40,49,71,78]
last_array = [9,16,23,29,89,97,39,48,57,77,85]
之后我弹出了first_array的第一个数字,即4,然后在最后一个数字中插入一个0,如下所示
first_array = [10,17,24,82,93,35,40,49,71,78, 0]
last_array = [ 9,16,23,29,89,97,39,48,57,77,85]
还有一点 for 循环
if first_array < last_array:
print ("===")
但看来我的逻辑是正确的,但我期望的输出有一点错误
['10', '17', '24', '82', '93', '35', '40', '49', '71', '78', '0']
['9', '16', '23', '29', '89', '97', '39', '48', '57', '77', '85']
===
['17', '24', '82', '93', '35', '40', '49', '71', '78', '0']
['16', '23', '29', '89', '97', '39', '48', '57', '77', '85']
['24', '82', '93', '35', '40', '49', '71', '78', '0']
['23', '29', '89', '97', '39', '48', '57', '77', '85']
['82', '93', '35', '40', '49', '71', '78', '0']
['29', '89', '97', '39', '48', '57', '77', '85']
['93', '35', '40', '49', '71', '78', '0']
['89', '97', '39', '48', '57', '77', '85']
['35', '40', '49', '71', '78', '0']
['97', '39', '48', '57', '77', '85']
===
['40', '49', '71', '78', '0']
['39', '48', '57', '77', '85']
['49', '71', '78', '0']
['48', '57', '77', '85']
['71', '78', '0']
['57', '77', '85']
['78', '0']
['77', '85']
['0']
['85']
===
第一个“=== 10 不是 < 9”,这让我思考。我错过了什么?预先感谢您。
这是我的代码片段。 print(join_tag) 是我需要的输出。
normalized_text = []
first_array = [10,17,24,82,93,35,40,49,71,78, 0]
last_array = [ 9,16,23,29,89,97,39,48,57,77,85]
for word in normalized_text:
join_tag = ' '.join(word)
print (join_tag)
if first_array < last_array:
print ('===')
first_array.pop(0)
last_array.pop(0)
预期输出为
['10', '17', '24', '82', '93', '35', '40', '49', '71', '78', '0']
['9', '16', '23', '29', '89', '97', '39', '48', '57', '77', '85']
['17', '24', '82', '93', '35', '40', '49', '71', '78', '0']
['16', '23', '29', '89', '97', '39', '48', '57', '77', '85']
['24', '82', '93', '35', '40', '49', '71', '78', '0']
['23', '29', '89', '97', '39', '48', '57', '77', '85']
['82', '93', '35', '40', '49', '71', '78', '0']
['29', '89', '97', '39', '48', '57', '77', '85']
['93', '35', '40', '49', '71', '78', '0']
['89', '97', '39', '48', '57', '77', '85']
['35', '40', '49', '71', '78', '0']
['97', '39', '48', '57', '77', '85']
===
['40', '49', '71', '78', '0']
['39', '48', '57', '77', '85']
['49', '71', '78', '0']
['48', '57', '77', '85']
['71', '78', '0']
['57', '77', '85']
['78', '0']
['77', '85']
['0']
['85']
===
最佳答案
如果我没理解你的问题,你想比较 4 和 16,对吗?
如果是这样,将数据放回到数据框中:
import numpy as np
import pandas as pd
first_array = np.array([4,10,17,24,82,93,35,40,49,71,78])
last_array = np.array([9,16,23,29,89,97,39,48,57,77,85])
df = pd.DataFrame(np.vstack((first_array, last_array)))
然后:
df.iloc[0, 0] < df.iloc[1, 1]
将比较 4 < 16
比较它们:
for i in range(len(df.columns)-1):
print(df.iloc[0, i] < df.iloc[1, i+1])
关于python - 如何比较第一列和第二列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54660736/