小编edg*_*ase的帖子

在使用pandas plot方法创建的图表上格式化x轴

pandas.DataFrame.plot是一种绘制数据帧数据的便捷方法.但是,我不明白如何使用此方法格式化轴.例如,

import pandas as pd
import datetime

df = pd.DataFrame(index =  [datetime.datetime(2016, 7, 2, 0, 0),
                    datetime.datetime(2016, 8, 6, 0, 0),
                    datetime.datetime(2016, 9, 13, 0, 0),
                    datetime.datetime(2016, 10, 26, 0, 0),
                    datetime.datetime(2016, 11, 2, 0, 0)],
                    data = {'total' : [5, 3, 1, 0, 2]})

df
Run Code Online (Sandbox Code Playgroud)

产量

          total
2016-07-02  5
2016-08-06  3
2016-09-13  1
2016-10-26  0
2016-11-02  2
Run Code Online (Sandbox Code Playgroud)

现在用熊猫绘图方法绘图:

df.plot(kind='bar')
Run Code Online (Sandbox Code Playgroud)

示例条形图

我希望x轴只有标签为月份的三字母格式 - 7月8月9月10月11月.

这可能与pandas plot方法有关,还是应该用matplotlib构建图表?

python plot matplotlib pandas

8
推荐指数
2
解决办法
7487
查看次数

来自熊猫数据框的json文件中的正斜杠

我是json的新手,非常感谢您的帮助。我正在尝试将数据帧转换为json文件。

import pandas as pd

df = pd.DataFrame({ 'A' : [1., 2.5],
                    'B' : ['img/blue.png', 'img/red.png']})
print df
Run Code Online (Sandbox Code Playgroud)

输出是

    A             B
0  1.0  img/blue.png
1  2.5   img/red.png
Run Code Online (Sandbox Code Playgroud)

我想制作一个像这样的json文件:

'[1.0,"img/blue.png"],[2.5,"img/red.png"]'
Run Code Online (Sandbox Code Playgroud)

但是,当我使用以下

out = df.to_json(orient='values')[1:-1]
print out
Run Code Online (Sandbox Code Playgroud)

我得到这个

'[1.0,"img\\/blue.png"],[2.5,"img\\/red.png"]'
Run Code Online (Sandbox Code Playgroud)

如何获取正斜杠以在json文件中正确打印?

python json python-2.7 pandas

5
推荐指数
3
解决办法
2323
查看次数

在连续的pandas数据帧之间重复计算

我想计算沿GPS坐标路径的距离,该坐标存储在数据帧的两列中.

import pandas as pd

df = pd.DataFrame({ 'lat' : [1, 2.5, 3, 1.2],
                    'lng' : [1, 1, 2.1, 1],
                    'label': ['foo', 'bar', 'zip', 'foo']})
print df
Run Code Online (Sandbox Code Playgroud)

产量

  label  lat  lng
0   foo  1.0  1.0
1   bar  2.5  1.0
2   zip  3.0  2.1
3   foo  1.2  1.0
Run Code Online (Sandbox Code Playgroud)

GPS坐标以弧度存储.因此,数据帧的第一行和第二行之间的距离可以如下计算:

import math as m

r1 = 0
r2 = 1

distance =m.acos(m.sin(df.lat[r1]) * m.sin(df.lat[r2]) + 
     m.cos(df.lat[r1]) * m.cos(df.lat[r2]) * m.cos(df.lng[r2]-df.lng[r1]))*6371
Run Code Online (Sandbox Code Playgroud)

我想在每对连续行之间重复此计算,然后将每个短距离添加到完整路径的较长最终距离.

我可以将它放入数据帧的n-1行的循环中,但有更多的pythonic方法吗?

python gps numpy dataframe pandas

4
推荐指数
1
解决办法
1282
查看次数

返回循环遍历列表列表的循环内的列表名称

我有两个清单.

list1 <- list('a', 5, 9)
list2 <- list('q', 42, 51)
Run Code Online (Sandbox Code Playgroud)

它们位于更大的命名列表中.

metalist <- list()
metalist[['bob']] <- list1
metalist[['carol']] <- list2
Run Code Online (Sandbox Code Playgroud)

如何从循环内返回每个列表的名称?我想回来'bob'然后'carol'.下面的代码不起作用,因为它会查找里面的名字list1list2,而不是名字list1中给出metalist.

for(list in metalist) {
  print(names(list))
}
Run Code Online (Sandbox Code Playgroud)

loops r list

3
推荐指数
1
解决办法
44
查看次数

标签 统计

pandas ×3

python ×3

dataframe ×1

gps ×1

json ×1

list ×1

loops ×1

matplotlib ×1

numpy ×1

plot ×1

python-2.7 ×1

r ×1