我是Pandas for Python的新手,正忙于阅读csv文件.不幸的是,Excel文件有一些#VALUE的单元格!和#DIV/0!在他们中.我无法在Excel中修复此问题,因为数据是从其他工作表中提取的.熊猫把这些列变成objects了numpy64,所以我无法从它们中进行绘制.我想替换#VALUE!和#DIV/0!Pandas中带有NaN条目的字符串,但我找不到如何执行此操作.我尝试了以下(我的代码运行,但它没有任何改变):
import pandas as pd
import numpy as np
df = pd.read_csv('2013AllData.csv')
df.replace('#DIV/0!', np.nan)
Run Code Online (Sandbox Code Playgroud) 我在大型结果表中按列仔细定义小数点,但是当我转置它以使其适合我的报告中的页面时(使用.to_latex),pandas 将小数点设置为最大数字。
转置期间是否可以保持小数精度?我宁愿不必在转置后定义小数。
(注意:我注意到,当转置之前的数据帧中有一行字符串时,它不会执行此操作,所以我认为这是某种我不理解的数据类型定义?)
示例代码:
df = pd.DataFrame(np.random.random([3, 3]),
columns=['A', 'B', 'C'], index=['first', 'second', 'third'])
df = df.round({'A': 1, 'C': 2})
print(df)
print(df.transpose())
Run Code Online (Sandbox Code Playgroud)
输出:
A B C
first 0.3 0.557432 0.78
second 0.8 0.568175 0.28
third 0.4 0.745703 0.62
first second third
A 0.300000 0.800000 0.400000
B 0.557432 0.568175 0.745703
C 0.780000 0.280000 0.620000
Run Code Online (Sandbox Code Playgroud)
我想:
first second third
A 0.3 0.8 0.4
B 0.557432 0.568175 0.745703
C 0.78 0.28 0.62
Run Code Online (Sandbox Code Playgroud) 我不确定 Pandas 是否可以做到这一点......但我想在我的数据框中添加一个新行,其行数比现有列多。
最小的例子:
import pandas as pd
df = pd.DataFrame()
df ['a'] = [0,1]
df ['b'] = [0,1,2]
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下这是否可能吗?我正在使用数据框来存储长数据列表,它们都有不同的长度,我一开始不一定知道。
我正在尝试在 Ubuntu 20.04 上安装 Ezra-project。当我运行安装它失败并说:
dpkg: dependency problems prevent configuration of ezra-project:
ezra-project depends on libicu66; however:
Package libicu66 is not installed.
Run Code Online (Sandbox Code Playgroud)
我尝试安装 libicu66
sudo apt install libicu66
Run Code Online (Sandbox Code Playgroud)
但它说
Package libicu66 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libicu66' has no installation candidate
Run Code Online (Sandbox Code Playgroud)
libicu66 是否可用于 Ubuntu 20.04?如果是这样,请有人指导我从哪里下载它?