我对python和机器学习非常陌生,我搜索了这个特定的问题,但找不到有用的东西。我有一个列表:
data=[{'a':1,
'b':2},
{'a':3,
'b':4}]
我想要一个单独的列表a和b的值。例如:
a=[1,3]
b=[2,4]
I tried to do:
a=[lst['a'] for lst in data]
b=[lst['b'] for lst in data]
但是a和b中的元素变成了字符串?例如,i不能将a[0]与b[1]相乘。我很高兴听到如果有人有一个解决方案或任何建议做得更好。抱歉,如果我不能解释得更清楚,就像我说的,我对这一切都很陌生,我不知道术语等等。提前感谢!
如果您有一个具有相同键的字典列表,那么在这种情况下,您可以使用名为Pandas的库及其DataFrames,它本质上是一个矩阵。如果你正在使用机器学习,你很可能会经常使用这个库。但是你可以选择一个特定的列。
import pandas as pd
df = pd.DataFrame(list)
x1 x2 x3
0 1 2 3
1 1 2 3
2 1 2 3
如果您现在想要选择x1的所有值,只需执行
x1_values = df["x1"] # returns [1, 1, 1]
要获取每一行的乘积,您可以这样做:
df.prod(axis=1) # returns [6, 6, 6]
你得到整行的乘积,不管你应该有多少行