如何更改x轴上的数字格式10,000而不是10000?理想情况下,我只想做这样的事情:
x = format((10000.21, 22000.32, 10120.54), "#,###")
Run Code Online (Sandbox Code Playgroud)
这是代码:
import matplotlib.pyplot as plt
# create figure instance
fig1 = plt.figure(1)
fig1.set_figheight(15)
fig1.set_figwidth(20)
ax = fig1.add_subplot(2,1,1)
x = 10000.21, 22000.32, 10120.54
y = 1, 4, 15
ax.plot(x, y)
ax2 = fig1.add_subplot(2,1,2)
x2 = 10434, 24444, 31234
y2 = 1, 4, 9
ax2.plot(x2, y2)
fig1.show()
Run Code Online (Sandbox Code Playgroud) 在pandas数据帧中如何应用一种excel('state',2)只取前两个字母.理想情况下,我想学习如何在数据帧中使用left,right和mid.因此,对于此特定示例,需要等效而非"技巧".
data = {'state': ['Auckland', 'Otago', 'Wellington', 'Dunedin', 'Hamilton'],
'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]}
df = pd.DataFrame(data)
print df
pop state year
0 1.5 Auckland 2000
1 1.7 Otago 2001
2 3.6 Wellington 2002
3 2.4 Dunedin 2001
4 2.9 Hamilton 2002
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
pop state year StateInitial
0 1.5 Auckland 2000 Au
1 1.7 Otago 2001 Ot
2 3.6 Wellington 2002 We
3 2.4 Dunedin 2001 Du
4 2.9 Hamilton 2002 Ha
Run Code Online (Sandbox Code Playgroud) 对熊猫来说显然是新手.我怎样才能简单地计算数据帧中的记录数.
我会想到一些简单的事情会这样做,我甚至无法在搜索中找到答案......可能是因为它太简单了.
cnt = df.count
print cnt
Run Code Online (Sandbox Code Playgroud)
上面的代码实际上只是打印整个df
如何在Excel中将Excel数据导入数据帧.
基本上,当前的excel工作簿在打开时运行一些vba,刷新数据透视表并执行其他一些操作.
然后我希望将数据透视表刷新的结果导入到python中的数据帧中以供进一步分析.
import xlrd
wb = xlrd.open_workbook('C:\Users\cb\Machine_Learning\cMap_Joins.xlsm')
#sheetnames
print wb.sheet_names()
#number of sheets
print wb.nsheets
Run Code Online (Sandbox Code Playgroud)
刷新和打开文件工作正常.但是我如何选择第一张表中的数据,从第5行开始,包括标题向下到最后一条记录n.
如何添加前导零,以便我至少有两位数.
Week product quantity Month
0 201301 coke 1.5 1
1 201302 fanta 1.7 2
2 201304 coke 3.6 5
3 201306 sprite 2.4 10
4 201308 pepsi 2.9 12
Run Code Online (Sandbox Code Playgroud)
即将以上数据帧转换为如下:
Week product quantity Month
0 201301 coke 1.5 01
1 201302 fanta 1.7 02
2 201304 coke 3.6 05
3 201306 sprite 2.4 10
4 201308 pepsi 2.9 12
Run Code Online (Sandbox Code Playgroud) 我想将一个简单的表输出到PDF文件,其中一些条件格式为依赖于值的单元格的2或3级着色.就像Microsoft Excel条件格式选项中的红白绿色缩放一样.
import pandas
import numpy as np
df = pandas.DataFrame(np.random.randn(10, 2), columns=list('ab'))
print df
#Output:
a b
0 -1.625192 -0.949186
1 -0.089884 0.825922
2 2.117651 -0.046258
3 -0.921751 -0.144447
4 -0.294095 -1.774725
5 -0.780523 -0.435909
6 0.544958 0.303268
7 0.014335 0.036182
8 -0.756565 0.120711
9 1.145055 0.542755
Run Code Online (Sandbox Code Playgroud)
现在,我想将这个输出到一个表格中的PDF,其中列为3比例条件格式,a并且对于列b是独立的,因此我的输出看起来像Excel中的以下示例.
有点像这样,但是按列:

我正在尝试添加一个新列,将周列转换为该周所属的适当月份。如果一周分为 2 个月,则取最大月份作为答案。
import pandas as pd
data = {'Week': [201301, 201301, 201302, 201302, 201303],
'product': ['coke', 'fanta', 'coke' ,'sprite' ,'pepsi'],
'quantity': [1.5, 1.7, 3.6, 2.4, 2.9]}
df = pd.DataFrame(data)
print df
Week product quantity
0 201301 coke 1.5
1 201301 fanta 1.7
2 201302 coke 3.6
3 201306 sprite 2.4
4 201307 pepsi 2.9
Run Code Online (Sandbox Code Playgroud)
所以输出看起来像这样。有任何想法吗?
Week product quantity MonthMax
0 201301 coke 1.5 01
1 201301 fanta 1.7 01
2 201302 coke 3.6 01
3 201305 sprite 2.4 02 …Run Code Online (Sandbox Code Playgroud) 在 Pandas 数据框中使用 Lambda 时,如何正确引用另一个列值。
dfresult_tmp2['Retention_Rolling_temp'] = dfresult_tmp2['Retention_tmp'].apply(lambda x: x if x['Count Billings']/4 < 0.20 else '')
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我这个错误。
TypeError: 'float' object is not subscriptable
Run Code Online (Sandbox Code Playgroud) 我正在尝试从 groupby 中的第一个非顺序“期间”开始删除数据框中的任何行。如果可能,我宁愿避免循环。
import pandas as pd
data = {'Country': ['DE', 'DE', 'DE', 'DE', 'DE', 'US', 'US', 'US', 'US','US'],
'Product': ['Blue', 'Blue', 'Blue', 'Blue','Blue','Green', 'Green', 'Green', 'Green','Green'],
'Period': [1, 2, 3,5,6, 1, 2, 4, 5, 6]}
df = pd.DataFrame(data, columns= ['Country','Product', 'Period'])
print df
Run Code Online (Sandbox Code Playgroud)
输出:
Country Product Period
0 DE Blue 1
1 DE Blue 2
2 DE Blue 3
3 DE Blue 5
4 DE Blue 6
5 US Green 1
6 US Green 2
7 US Green 4 …Run Code Online (Sandbox Code Playgroud)