我有一个看起来像这样的字符串:
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)
如何将其干净地转换为浮动?
有没有办法将漂亮的表输出重定向到文本文件而不仅仅是屏幕?
来自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) 在下图中,我想为日历图添加一个图例.使用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

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')中创建索引?
我有以下数组:
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方式去做吗?
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) 下面附有两个图.产生它们的脚本的唯一区别是第二个有另外一行:
import seaborn as sns
Run Code Online (Sandbox Code Playgroud)
我还没有设置任何seaborn风格.即使在不使用seaborn的情节中,只是进口seaborn正在改变情节风格.有什么方法可以导入seaborn(用于其他地块),而不是为不使用它的情节改变了样式?
# 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) 我有这个人.以第一行为标题的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) 我有 2 个 numpy 数组:较大的数组是 10 x 10 numpy 数组,较小的数组是 2 x 2 数组。
我想在用户指定的位置用较小数组中的值替换较大数组中的值。例如,通过用 2 x 2 数组替换 4 个值来替换从其中心点开始的 10 x 10 数组的值。
现在,我通过使用嵌套的 for 循环来执行此操作,并找出较大数组中的哪些像素与较小数组中的像素重叠。有没有更pythonic的方法来做到这一点?