Python 熊猫系列使用gt不是蟒蛇式的方式?;

Python 熊猫系列使用gt不是蟒蛇式的方式?;,python,pandas,Python,Pandas,我想获取内容大于3的数据,但内容的类型是字符串 a = [{"content": "1", "title": "刘德华", "info": "", "time": 1578877014}, {"content": "2", "title": "刘德华", "info": "", "time": 1579877014}, {"content": "3", "title": "刘德华", "info": "", "time": 1582877014}, {"conten

我想获取内容大于3的数据,但内容的类型是字符串

a = [{"content": "1", "title": "刘德华", "info": "", "time": 1578877014},
     {"content": "2", "title": "刘德华", "info": "", "time": 1579877014},
     {"content": "3", "title": "刘德华", "info": "", "time": 1582877014},
     {"content": "24", "title": "苹果", "info": "", "time": 1582876014},
     {"content": "15", "title": "apple", "info": "", "time": 1581877014},
     {"content": "16", "title": "banana", "info": "", "time": 1561877014},
     ]

麦可德

index=[i['content'] for i in a]

s=pd.Series(a,index)

re_index=[eval(i['content']) for i in a]
s.index=re_index
res=[]
for i,v in enumerate(s.index.__gt__(2)):
    if v:
        print(i)
        res.append(s.iloc[i])

print(res)
结果

[
{'content': '3', 'title': '刘德华', 'info': '', 'time': 1582877014}, 
{'content': '24', 'title': '苹果', 'info': '', 'time': 1582876014}, 
{'content': '15', 'title': 'apple', 'info': '', 'time': 1581877014}, 
{'content': '16', 'title': 'banana', 'info': '', 'time': 1561877014}
]
我觉得我的代码太琐碎了 如何以Python方式编辑我的代码?

试试以下方法:

[i for i in a if int(i['content']) >= 3]

[{'content': '3', 'title': '刘德华', 'info': '', 'time': 1582877014},
 {'content': '24', 'title': '苹果', 'info': '', 'time': 1582876014},
 {'content': '15', 'title': 'apple', 'info': '', 'time': 1581877014},
 {'content': '16', 'title': 'banana', 'info': '', 'time': 1561877014}]
您可以使用if子句创建一个列表,以获得等于或大于3的值。注意使用int转换为整数。我相信您可以在此处运行该程序,而无需将数据加载到pandas中

[i for i in a if int(i['content']) >= 3]

[{'content': '3', 'title': '刘德华', 'info': '', 'time': 1582877014},
 {'content': '24', 'title': '苹果', 'info': '', 'time': 1582876014},
 {'content': '15', 'title': 'apple', 'info': '', 'time': 1581877014},
 {'content': '16', 'title': 'banana', 'info': '', 'time': 1561877014}]
您可以使用if子句创建一个列表,以获得等于或大于3的值。注意使用int转换为整数。我相信您可以在此处运行该程序,而无需将数据加载到pandas中,并与convert
index
一起使用到数字:

out = s[s.index.astype(int) > 2].tolist()
print (out)
[{'content': '3', 'title': '刘德华', 'info': '', 'time': 1582877014}, 
 {'content': '24', 'title': '苹果', 'info': '', 'time': 1582876014}, 
 {'content': '15', 'title': 'apple', 'info': '', 'time': 1581877014}, 
 {'content': '16', 'title': 'banana', 'info': '', 'time': 1561877014}]
与“将索引转换为数字”一起使用:

out = s[s.index.astype(int) > 2].tolist()
print (out)
[{'content': '3', 'title': '刘德华', 'info': '', 'time': 1582877014}, 
 {'content': '24', 'title': '苹果', 'info': '', 'time': 1582876014}, 
 {'content': '15', 'title': 'apple', 'info': '', 'time': 1581877014}, 
 {'content': '16', 'title': 'banana', 'info': '', 'time': 1561877014}]

我必须将数据加载到pandasi中我必须将数据加载到pandas中