小编use*_*827的帖子

Python将字符串转换为float

我有一个看起来像这样的字符串:

a = "'92.345'\r\n\r\n"
a.strip()
Run Code Online (Sandbox Code Playgroud)

当我尝试将它转换为浮动使用np.float(a)或只是float(a),我得到

*** Value error: could not convert string to float: '92.345'
Run Code Online (Sandbox Code Playgroud)

如何将其干净地转换为浮动?

python string

2
推荐指数
1
解决办法
9298
查看次数

Python Pretty Table输出到文本文件

有没有办法将漂亮的表输出重定向到文本文件而不仅仅是屏幕?

来自https://code.google.com/p/prettytable/wiki/Tutorial

from prettytable import PrettyTable

x = PrettyTable(["City name", "Area", "Population", "Annual Rainfall"])
x.align["City name"] = "l" # Left align city names
x.padding_width = 1 # One space between column edges and contents (default)
x.add_row(["Adelaide",1295, 1158259, 600.5])
x.add_row(["Brisbane",5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])
print x
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
3923
查看次数

python matplotlib中基于Colorbar的图例

在下图中,我想为日历图添加一个图例.使用ax.plot(...,label ='a')绘制日历图,并在52x7网格中绘制矩形(52周,每周7天).

该传奇目前使用:

plt.gca().legend(loc="upper right")
Run Code Online (Sandbox Code Playgroud)

如何将此图例更正为更像颜色条的内容?此外,颜色条应放在图的底部.

编辑:上传的代码和数据在这里复制:https: //www.dropbox.com/sh/8xgyxybev3441go/AACKDiNFBqpsP1ZttsZLqIC4a?dl=0

在此输入图像描述

python matplotlib

2
推荐指数
1
解决办法
1107
查看次数

在pandas dataframe中创建日期时间索引

  1988   1   1  7.88 15.57 25.00  0.00  0.81  4.02
  1988   1   2  6.50 10.37 24.87  0.00  0.49  4.30
  1988   1   3  6.48 -8.79 21.28  0.00  0.62  3.91
Run Code Online (Sandbox Code Playgroud)

我把上面的文件读作:

df = pd.read_fwf('27_35.txt', header=None, widths=[6,4,4,6,6,6,6,6,6])
Run Code Online (Sandbox Code Playgroud)

第1列是年份,第2列是月份,第3列是日期.如何从这3列('1988-1-1')中创建索引?

python pandas

2
推荐指数
1
解决办法
2608
查看次数

将年份列表分成几十年

我有以下数组:

array([1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971,
       1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982,
       1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993,
       1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
       2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013], dtype=object)
Run Code Online (Sandbox Code Playgroud)

我想把它分成单独的列表,每十年一个(例如1970-1979是十年).

现在,我正在循环多年并分成单独的列表.有更多的pythonic方式去做吗?

python arrays numpy

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

计算pandas数据帧中每一行的百分比

                  country_name  country_code  val_code  \
   United States of America           231                     1   
   United States of America           231                     2   
   United States of America           231                     3   
   United States of America           231                     4   
   United States of America           231                     5   

      y191      y192      y193      y194      y195  \
   47052179  43361966  42736682  43196916  41751928   
   1187385   1201557   1172941   1176366   1192173   
   28211467  27668273  29742374  27543836  28104317   
   179000    193000    233338    276639    249688   
   12613922  12864425  13240395  14106139  15642337 
Run Code Online (Sandbox Code Playgroud)

在上面的数据框中,我想为每一行计算该val_code占用的总百分比,从而得到foll.数据框.

即总结每一行并除以所有行的总和

                  country_name  country_code  val_code  \
   United States of America           231                     1   
   United States of …
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
1万
查看次数

在python脚本中导入seaborn搞乱情节风格

下面附有两个图.产生它们的脚本的唯一区别是第二个有另外一行:

import seaborn as sns
Run Code Online (Sandbox Code Playgroud)

我还没有设置任何seaborn风格.即使在不使用seaborn的情节中,只是进口seaborn正在改变情节风格.有什么方法可以导入seaborn(用于其他地块),而不是为不使用它的情节改变了样式?

python pandas seaborn

2
推荐指数
1
解决办法
696
查看次数

将熊猫数据框输出到格式化的文本文件

# df is dataframe, f_out is a text file I am outputting to
for index, row in df.iterrows():
    f_out.write(('%6d%4d%4d'+6*'%6.2f'+'\n') %
                (row['year'],row['month'],row['day'],
                 row['sr'],row['tma'],row['tmi'],
                 row['apc'],row['rhu'],row['wnd']))
Run Code Online (Sandbox Code Playgroud)

我想将数据帧输出到格式为以下内容的文本文件:

  1979   1   1  3.19 12.51 17.61  1.40  0.77  6.89
Run Code Online (Sandbox Code Playgroud)

如何在不使用迭代遍历所有行的情况下执行此操作?这种方法真的很慢

- 编辑:

示例数据帧在此处:https ://www.dropbox.com/s/d109fvj1higo88b/7_9.csv?dl =0

这里的小片段:

            air.2m  ap  day month   rhu sr  swr_diff tma    tmi    apc     wnd  year
1/1/1979    -20.9   0.0 1.0  1.0    0.8 2.3 26.3    -16.1   -20.9   73.4    4.8 1979
1/2/1979    -25.2   0.0 2.0  1.0    0.8 2.2 25.2    -18.6   -25.2   70.6    4.4 1979
1/3/1979 …
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
2919
查看次数

使用pandas将csv文件作为字典读取

我有这个人.以第一行为标题的csv:

A      B
test    23
try     34
Run Code Online (Sandbox Code Playgroud)

我想在这里读作字典,所以这样做:

dt = pandas.read_csv('file.csv').to_dict()
Run Code Online (Sandbox Code Playgroud)

但是,这会将标题行作为键读入.我希望列'A'中的值是键.我该怎么做,即得到这样的答案:

{'test':'23', 'try':'34'}
Run Code Online (Sandbox Code Playgroud)

python dictionary pandas

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

用较小的数组替换较大的 numpy 数组中的值

我有 2 个 numpy 数组:较大的数组是 10 x 10 numpy 数组,较小的数组是 2 x 2 数组。

我想在用户指定的位置用较小数组中的值替换较大数组中的值。例如,通过用 2 x 2 数组替换 4 个值来替换从其中心点开始的 10 x 10 数组的值。

现在,我通过使用嵌套的 for 循环来执行此操作,并找出较大数组中的哪些像素与较小数组中的像素重叠。有没有更pythonic的方法来做到这一点?

python numpy

2
推荐指数
1
解决办法
670
查看次数

标签 统计

python ×10

pandas ×5

numpy ×2

arrays ×1

dictionary ×1

matplotlib ×1

seaborn ×1

string ×1