我想从pandas数据框中绘制多条线,并为每条线设置不同的选项.我想做点什么
testdataframe=pd.DataFrame(np.arange(12).reshape(4,3))
testdataframe.plot(style=['s-','o-','^-'],color=['b','r','y'],linewidth=[2,1,1])
Run Code Online (Sandbox Code Playgroud)
这会引发一些错误消息:
linewidth不能用列表调用
在样式中,当在列表中定义颜色时,我不能使用's'和'o'或任何其他字母符号
还有一些东西对我来说似乎很奇怪
当我在上面的代码中添加另一个绘图命令时,testdataframe[0].plot()它将在同一个绘图中绘制这条线,如果我添加命令testdataframe[[0,1]].plot()它将创建一个新的绘图
如果我称之为testdataframe[0].plot(style=['s-','o-','^-'],color=['b','r','y'])风格列表,但没有颜色列表则可以
希望有人可以提供帮助,谢谢.
是否有任何理由为什么pandas在更新时将列的类型从int更改为float,我可以阻止它执行吗?以下是该问题的一些示例代码
import pandas as pd
import numpy as np
df = pd.DataFrame({'int': [1, 2], 'float': [np.nan, np.nan]})
print('Integer column:')
print(df['int'])
for _, df_sub in df.groupby('int'):
df_sub['float'] = float(df_sub['int'])
df.update(df_sub)
print('NO integer column:')
print(df['int'])
Run Code Online (Sandbox Code Playgroud) 我使用pandas版本0.12.0.和以下代码移动复制系列的索引:
import pandas as pd
series = pd.Series(range(3))
series_copy = series.copy()
series_copy.index += 1
Run Code Online (Sandbox Code Playgroud)
如果我现在访问series它也会移动索引.为什么?