如何去除此图表上的背景水平线?代表刻度 5、10、15 等的线条。您可以在下面找到代码:
# Plotting waterfall chart for Years of Experience lost on DA Team
x_data = ['A', 'B', 'C', 'D', 'E']
y_data = [13, 23.5, 17.5, 10, 2.5] # y_data for positioning the annotations
text = ['27', '7', '5', '10', '5']
# Base
Base = go.Bar(x=x_data, y=[0, 20, 15, 5, 0], marker=dict(color='rgba(1,1,1, 0.0)',))
# Total
Total = go.Bar(x=x_data, y=[27, 0, 0, 0, 0], marker=dict(color='#003A6F',line=dict(color='k',width=1,)))
# Individuals
Individuals = go.Bar(x=x_data, y=[0, 7, 5, 10, 0], marker=dict( color='#FFE512',line=dict(color='k',width=1,)))
# Years of …Run Code Online (Sandbox Code Playgroud) 想象一下,我们有一个数据框,我想为不同的单元格着色:
['Arizona','company'](1st),['Texas','size'](1099)如绿色。['Florida','veterans'](26),['Maine','armored'](0)如红色。有什么好办法呢?
raw_data = {'regiment': ['Nighthawks', 'Nighthawks', 'Nighthawks', 'Nighthawks', 'Dragoons', 'Dragoons', 'Dragoons', 'Dragoons', 'Scouts', 'Scouts', 'Scouts', 'Scouts'],
'company': ['1st', '1st', '2nd', '2nd', '1st', '1st', '2nd', '2nd','1st', '1st', '2nd', '2nd'],
'deaths': [523, 52, 25, 616, 43, 234, 523, 62, 62, 73, 37, 35],
'battles': [5, 42, 2, 2, 4, 7, 8, 3, 4, 7, 8, 9],
'size': [1045, 957, 1099, 1400, 1592, 1006, 987, 849, 973, 1005, 1099, 1523],
'veterans': [1, …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,每列的格式都不同。我需要将其导出到 csv 或 dat 文件。但收到以下错误消息:
AttributeError:“Styler”对象没有属性“to_csv”
如何解决这个问题?
import pandas as pd
import datetime
def time_formatter(data):
return datetime.datetime.strptime(data, "%Y/%m/%d").date().strftime('%Y%m%d')
df = pd.DataFrame({'a':[1,2,3], 'b':['2017/01/01', '2017/01/02','2016/12/31'], 'c':['aaa', 'bbb', 'ccc'], 'd':[4,5,6]})
formatter = {'a':'{:4.2f}', 'b': time_formatter, 'd':'{:8.2f}'}
df = df.style.format(formatter)
df.to_csv('aaa.csv')
Run Code Online (Sandbox Code Playgroud) 我正在做一个预测项目(为了好玩),基本上我从nltk中提取了男性和女性名字,将名字标记为“ male”或“ female”,然后得到每个名字的最后一个字母,最后使用不同的机器学习方法可以根据姓氏来训练和预测性别的算法。
因此,我们知道Python的sklearn不能处理分类数据,因此我使用LabelEncoder将最后一个字母转换为数值:
转换前:
name last_letter gender
0 Aamir r male
1 Aaron n male
2 Abbey y male
3 Abbie e male
4 Abbot t male
name last_letter gender
0 Abagael l female
1 Abagail l female
2 Abbe e female
3 Abbey y female
4 Abbi i female
Run Code Online (Sandbox Code Playgroud)
如果我们连接两个数据帧,则删除名称列并随机播放:
last_letter gender
0 a male
1 e female
2 g male
3 h male
4 e male
Run Code Online (Sandbox Code Playgroud)
然后我用了LabelEncoder:
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
for …Run Code Online (Sandbox Code Playgroud) 我试图根据单元格的值来着色,突出显示或改变对Python pandas DataFrame的喜爱.例如,如果每行上的单元格大于该行第一列中的单元格,则将单元格突出显示为红色(或任何其他颜色),否则保持原样.
我在这里写了一个for循环:
for index in range(0, df.shape[0]):
for column in range(1, df.shape[1]): # from 1 not from 0 because I only need # to compare the 2nd to the last cell of each row with the 1st cell in the row
if df.iloc[index][column] - df_BDE_n_months_avg_std_pct.iloc[index][0] > 0:
then "PLEASE PUT YOUR HELP HERE, I NEED A PIECE OF CODE THAT CAN HIGHLIGHT THE CELL"
else:
"DO NOTHING"
Run Code Online (Sandbox Code Playgroud)
到目前为止,我还没有找到办法.任何帮助都会很棒.
这是数据帧
df = pd.DataFrame({"col_1":[0.00143,0.00653,0.00732],"col_2":[0.00984,0.00192,0.00751]},index=['A','B','C'])
Run Code Online (Sandbox Code Playgroud)
这是我的阴谋代码:
trace0 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[0,0],df.ix[0,1]],
name=df.index[0],
# marker=dict(color=cof_pal[0]
)
trace1 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[1,0],df.ix[1,1]],
name=df.index[1],
# marker=dict(color=cof_pal[1]
)
trace2 = go.Bar(
x=[df.columns[0],df.columns[1]],
y=[df.ix[2,0],df.ix[2,1]],
name=df.index[2],
# marker=dict(color=cof_pal[2]
)
layout = go.Layout(showlegend=True, title="Title", font=dict(size=Chart_Title_Font_Size),
yaxis=dict(title='Percentage Change(%)', titlefont=dict(size=yaxis_font_size), tickfont=dict(size=yaxis_font_size)),
xaxis=dict(title='Time', titlefont=dict(size=xaxis_font_size), tickfont=dict(size=yaxis_font_size))
)
data = [trace0,trace1,trace2]
fig = go.Figure(data=data, layout=layout)
iplot(fig, filename='fig1')
Run Code Online (Sandbox Code Playgroud)
我需要y轴为x.xx%格式(或小数点后的n位数).
另一个问题是:y轴标题"百分比变化(%)"太靠近y轴数.如何进一步移动?
如何将图例放在图表上方/下方并更改字体大小?我有一个包含 12 个长图例名称的图表。将图例放在右侧会影响图表。
另外我需要图例名称是水平的。不是所有的名字在垂直线上都会太长。
我有一个数据框:pd.DataFrame({"Amount":[19000000, 9873200, 823449242]}),我需要将数字转换为以百万计的货币($)。即 $19.00MM、$9.88MM 和 $823.45MM。
有谁知道一个快速的方法来做到这一点?
谢谢!
将数据帧 df 导出到 dat 文件时,如何删除文件中的 None 或 numpy.nan?我只需要一个空值。
df.to_csv('test.dat')
Run Code Online (Sandbox Code Playgroud)
我试过了:
df = df.fillna('')
Run Code Online (Sandbox Code Playgroud)
或者
df = df.replace(numpy.nan, '') and df = df.replace(None, '')
Run Code Online (Sandbox Code Playgroud)
但我仍然在 csv 或 dat 文件中看到“无”或“南”。
假设我有一个pandas数据框,并且想对所有数字(整数和浮点数)添加千位分隔符,那么有什么简便快捷的方法呢?