我正在尝试基于两列创建新列.假设我想创建一个新的列z,它应该是y的值,当它没有丢失时,并且当y确实缺失时是x的值.所以在这种情况下,我希望z是[1, 8, 10, 8].
x y
0 1 NaN
1 2 8
2 4 10
3 8 NaN
Run Code Online (Sandbox Code Playgroud) 我正在尝试为每个点做一个速度超过米的散点图,其中标记表示不同的类型,大小表示不同的重量,颜色表示一个点超过10分钟的比例.但是,到目前为止我只能按尺寸绘制.
任何帮助都非常感谢.
x = {'speed': [10, 15, 20, 18, 19], 'meters' : [122, 150, 190, 230, 300], 'type': ['phone', 'phone', 'gps', 'gps', 'car'], 'weight': [0.2, 0.3, 0.1, 0.85, 0.0], 'old': [1, 2, 4, 5, 8]}
m = pd.DataFrame(x)
plt.scatter(m.meters, m.speed, s = 30* m.weight)
mkr_dict = {'gps': 'x', 'phone': '+', 'car': 'o'}
meters speed type weight old
0 122 10 phone 0.20 1
1 150 15 phone 0.30 2
2 190 20 gps 0.10 4
3 230 18 gps 0.85 …Run Code Online (Sandbox Code Playgroud) 
我想比较这两个图像的接近程度(相似区域中的红色),但我不能逐个像素地进行,因为它们的颜色位置不完全相同。有人知道这里有什么好方法吗?
谢谢,
我是python的新手,并尝试将速度绘制为从当前起始点到下一个起始点的精度的恒定值,因此速度从开始到结束(下一个开始)是恒定的.
例如,距离0到27.82的速度应为13,而从27.82到40.12的速度应为15,依此类推.
任何的想法?
startpointinmeters speed
0.0 13.0
27.82 15.0
40.12 14.0
75.33 14.0
172.77 17.0
208.64 18.0
253.0 21.0
335.21 20.0
351.16 25.0
590.38 22.0
779.37 21.0
968.35 22.0
1220.66 20.0
1299.17 19.0
1318.32 14.0
1352.7 9.0
Run Code Online (Sandbox Code Playgroud) 我是python的新手,并试图从字典中获取值,其中键在数据帧列(pandas)中定义.我搜索了很多,最接近的是下面链接中的一个问题,但它没有得到答案.
所以,在这里,我试图找到相同类型的问题的答案.
我有一本字典
type_dict = {3: 'foo', 4:'bar',5:'foobar', 6:'foobarbar'}
Run Code Online (Sandbox Code Playgroud)
以及包含以下列的数据框:
>>> df.type
0 3
1 4
2 5
3 6
4 3
5 4
6 5
7 6
8 3
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含相应type_dict值的新列,但以下是我唯一可以提出并且无法正常工作的内容:
type_dict[df.type]
Run Code Online (Sandbox Code Playgroud)
TypeError:'Series'对象是可变的,因此它们不能被散列
type_dict[df.type.values]
Run Code Online (Sandbox Code Playgroud)
TypeError:不可用类型:'numpy.ndarray'
更新的问题:
对于pandas DataFrame,比如'df',我如何用米型作为标记词典的关键来绘制速度超过米.
mkr_dict = {'gps': 'x', 'phone': '+', 'car': 'o'}
x = {'speed': [10, 15, 20, 18, 19], 'meters' : [122, 150, 190, 230, 300], 'type': ['phone', 'phone', 'gps', 'gps', 'car']}
df = pd.DataFrame(x)
meters speed type
0 122 10 phone
1 150 …Run Code Online (Sandbox Code Playgroud) 我试图基于4个离散值1,2,3,4创建pcolor.我想将1定义为黑色,将2定义为红色,将3定义为黄色,将4定义为绿色.有谁知道怎么做?
test = ([1,2,2,1,3],[1,1,1,1,4],[2,1,1,2,1])
import numpy as np
dataset = np.array(test)
plt.pcolor(dataset)
Run Code Online (Sandbox Code Playgroud)
谢谢,
python ×6
matplotlib ×3
pandas ×2
colorbar ×1
dataframe ×1
dictionary ×1
image ×1
key ×1
marker ×1
missing-data ×1
scatter-plot ×1