我在Pandas数据框中有两列是日期.
我希望从另一列中减去一列,结果是整数天数的差异.
查看数据:
df_test.head(10)
Out[20]:
First_Date Second Date
0 2016-02-09 2015-11-19
1 2016-01-06 2015-11-30
2 NaT 2015-12-04
3 2016-01-06 2015-12-08
4 NaT 2015-12-09
5 2016-01-07 2015-12-11
6 NaT 2015-12-12
7 NaT 2015-12-14
8 2016-01-06 2015-12-14
9 NaT 2015-12-15
Run Code Online (Sandbox Code Playgroud)
我已成功创建了一个新列,区别在于:
df_test['Difference'] = df_test['First_Date'].sub(df_test['Second Date'], axis=0)
df_test.head()
Out[22]:
First_Date Second Date Difference
0 2016-02-09 2015-11-19 82 days
1 2016-01-06 2015-11-30 37 days
2 NaT 2015-12-04 NaT
3 2016-01-06 2015-12-08 29 days
4 NaT 2015-12-09 NaT
Run Code Online (Sandbox Code Playgroud)
但是我无法获得结果的数字版本:
df_test['Difference'] = df_test[['Difference']].apply(pd.to_numeric)
df_test.head() …Run Code Online (Sandbox Code Playgroud) 我有以下数据框(由负数和正数组成):
df.head()
Out[39]:
Prices
0 -445.0
1 -2058.0
2 -954.0
3 -520.0
4 -730.0
Run Code Online (Sandbox Code Playgroud)
我试图将“价格”列更改为在将其导出到 Excel 电子表格时显示为货币。我使用的以下命令效果很好:
df['Prices'] = df['Prices'].map("${:,.0f}".format)
df.head()
Out[42]:
Prices
0 $-445
1 $-2,058
2 $-954
3 $-520
4 $-730
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,如果我希望输出在美元符号之前有负号,我会怎么做。在上面的输出中,美元符号在负号之前。我正在寻找这样的东西:
请注意,也有正数。
我在Pandas Data框架中有一行,其中包含我的商品的销售率.
看看我的数据:
block_combine
Out[78]:
END_MONTH 1 2 3 4 5
Total Listings 168 219 185 89 112
Total Sales 85 85 84 41 46
Run Code Online (Sandbox Code Playgroud)
通过执行以下操作,我可以轻松计算销售额%:
block_combine.loc["Total Sales Rate"] = block_combine.ix[1,:] / block_combine.ix[0,:]
block_combine
Out[79]:
END_MONTH 1 2 3 4 5
Total Listings 168.000000 219.000000 185.000000 89.000000 112.000000
Total Sales 85.000000 85.000000 84.000000 41.000000 46.000000
Total Sales Rate 0.505952 0.388128 0.454054 0.460674 0.410714
Run Code Online (Sandbox Code Playgroud)
现在我要做的是将"总销售率"行更改为整数百分比.如果它是一个列,我能够这样做但是当我使用行时遇到问题.
这是我尝试的:
block_combine.loc["Total Sales Rate"] = pd.Series(["{0:.0f}%".format(val * 100) for val in block_combine.loc["Total Sales Rate"]]) …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在数据框中的列中添加百分号,但无济于事.有人有任何想法吗?
import pandas as pd
names = ('jimmy', 'red', 'julie', 'brad', 'oranges')
score = (82, 38 , 55, 19, 33)
df = pd.DataFrame({'Name': names, 'Grade': score})
df
Out[20]:
Grade Name
0 82 jimmy
1 38 red
2 55 julie
3 19 brad
4 33 oranges
Run Code Online (Sandbox Code Playgroud)
我做了很多尝试,但似乎没有任何结果.这是一次失败的尝试:
df['Percent'] = str(df['Grade']) + '%'
df['Percent']
Out[22]:
0 0 82\n1 38\n2 55\n3 19\n4 33\nN...
1 0 82\n1 38\n2 55\n3 19\n4 33\nN...
2 0 82\n1 38\n2 55\n3 19\n4 33\nN...
3 0 82\n1 38\n2 55\n3 19\n4 …Run Code Online (Sandbox Code Playgroud) 我想在Jupyter Notebook中使用R,因此我是通过R Essentials安装的(请参阅:https ://www.continuum.io/blog/developer/jupyter-and-conda-r )。安装的版本如下:
R.Version()
Out[2]:
$platform
"x86_64-w64-mingw32"
$arch
"x86_64"
$os
"mingw32"
$system
"x86_64, mingw32"
$status
""
$major
"3"
$minor
"1.3"
$year
"2015"
$month
"03"
$day
"09"
$svn rev
"67962"
$language
"R"
$version.string
"R version 3.1.3 (2015-03-09)"
$nickname
"Smooth Sidewalk"
Run Code Online (Sandbox Code Playgroud)
我试图更新R并安装一些软件包(例如RWeka)无济于事。我一直在寻找各种资源,但似乎没有任何指向我正确方向的信息。有谁知道该怎么办?
我的主要动机是尝试使用R库,但会收到类似以下的警告:
library("RWeka")
Warning message:
: package 'RWeka' was built under R version 3.2.4Warning message:
In unique(paths): bytecode version mismatch; using eval
Run Code Online (Sandbox Code Playgroud)