在 Python 中,我将 Pandas Dataframe 写入 csv 文件,并希望将十进制分隔符更改为逗号 ( ,)。像这样:
results.to_csv('D:/Data/Kaeashi/BigData/ProcessMining/Voorbeelden/Voorbeeld/CaseEventsCel.csv', sep=';', decimal=',')
Run Code Online (Sandbox Code Playgroud)
但是csv文件中的十进制分隔符仍然是一个.
Why?我做错了什么?
我的尝试: df['uid'] = df.uid.astype(int)
哪个有效...!然而,Python 不喜欢它:
尝试在 DataFrame 的切片副本上设置一个值。尝试使用 .loc[row_indexer,col_indexer] = value 代替
我的问题 - 如何执行这个简单代码的“最佳实践”是什么?
迄今为止的研究:
尝试:
...一些链接说使用 iloc 但我不知道如何在这里使用...
我有一个具有不同数据类型的pandas数据框.我想将数据框中的多个列转换为字符串类型.我已经为每个专栏单独完成了但是想知道是否有一种有效的方法?
所以目前我正在做这样的事情:
repair['SCENARIO']=repair['SCENARIO'].astype(str)
repair['SERVICE_TYPE']= repair['SERVICE_TYPE'].astype(str)
Run Code Online (Sandbox Code Playgroud)
我想要一个可以帮助我传递多个列并将它们转换为字符串的函数.
当我导入 Excel 文件时,列中的某些数字是浮点型,有些不是。如何将所有内容转换为浮点数?里面的空间3 000,00给我带来了问题。
df['column']:
column
0 3 000,00
1 156.00
2 0
Run Code Online (Sandbox Code Playgroud)
我在尝试:
df['column']:
column
0 3 000,00
1 156.00
2 0
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我会在之后做.astype(float),但无法到达那里。有什么解决办法吗?1已经是一个浮点数,但是0是一个字符串。
我有一个小数据框,只包含两列,其中应该包含所有浮点数。所以,我有两个字段名称“价格”和“分数”。当我查看数据时,它对我来说都像是浮动的,但显然有些东西是一个字符串。有什么方法可以踢掉这些是字符串但看起来像浮动的东西吗?或者,有没有办法强制一切都浮动?错误发生在最后一行显示在这里,然后没有其他任何工作。
df = pd.read_csv('C:\\my_path\\analytics.csv')
print('done!')
modDF = df[['Price', 'Score']].copy()
modDF = modDF[:100]
for i_dataset, dataset in enumerate(datasets):
X, y = dataset
# normalize dataset for easier parameter selection
X = StandardScaler().fit_transform(X)
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
datasets = [modDF]
for i_dataset, dataset in enumerate(datasets):
X, y = dataset
# normalize dataset for easier parameter selection
X = StandardScaler().fit_transform(X)
Traceback (most recent call last):
File "<ipython-input-18-013c2a6bef49>", line 5, in <module>
X = StandardScaler().fit_transform(X)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\base.py", line 553, in fit_transform
return self.fit(X, **fit_params).transform(X)
File "C:\Users\rs\AppData\Local\Continuum\anaconda3\lib\site-packages\sklearn\preprocessing\data.py", line …Run Code Online (Sandbox Code Playgroud) 我有一个如下所示的数据框
a b
0 1 26190
1 5 python
2 5 580
Run Code Online (Sandbox Code Playgroud)
我想让列b只承载整数,但正如你所看到的,python它不是 int 可转换的,所以我想删除 index 处的行1。我的预期输出必须像
a b
0 1 26190
1 5 580
Run Code Online (Sandbox Code Playgroud)
如何在python中使用pandas过滤和删除?
我有一个数据框:df-
A B C D E
0 V 10 5 18 20
1 W 9 18 11 13
2 X 8 7 12 5
3 Y 7 9 7 8
4 Z 6 5 3 90
Run Code Online (Sandbox Code Playgroud)
我想添加一列“Result”,如果“E”列中的值大于 B、C 和 D 列中的值,则该列应返回 1,否则返回 0。
输出应该是:
A B C D E Result
0 V 10 5 18 20 1
1 W 9 18 11 13 0
2 X 8 7 12 5 0
3 Y 7 9 7 8 0
4 Z …Run Code Online (Sandbox Code Playgroud) 我正在处理https://opendata.rdw.nl/Voertuigen/Open-Data-RDW-Gekentekende_voertuigen_brandstof/8ys7-d773中的数据(使用“Exporteer”按钮下载 CSV 文件)。
当我使用 R 将数据导入到 R 时,read.csv()它需要 3.75 GB 的内存,但是当我使用它将数据导入 pandas 时,pd.read_csv()它会占用 6.6 GB 的内存。
为什么这个差异这么大呢?
我使用以下代码来确定 R 中数据帧的内存使用情况:
library(pryr)
object_size(df)
Run Code Online (Sandbox Code Playgroud)
和蟒蛇:
df.info(memory_usage="deep")
Run Code Online (Sandbox Code Playgroud) 试图回答这个问题“获取每列的唯一字符串列表”,我们遇到了与我的数据集不同的问题。当我将此 CSV 文件导入数据帧时,每列都是 OBJECT 类型,我们需要将数字列转换为实数(数字)数据类型,将非数字列转换为字符串数据类型。
有办法实现这一点吗?
我尝试过以下文章Pandas:更改列的数据类型中的代码,但没有成功。
df = pd.DataFrame(a, columns=['col1','col2','col3'])
Run Code Online (Sandbox Code Playgroud)
一如既往地感谢您的帮助
我努力理解为什么我会收到\n1与\n2转换后输出int64到str。
从 2014 年到0 2014\n1 2015\n2 2015\n3 2016.
这就是我所做的: df.Year = str(df.Year)
前:
后:
特写:
python ×10
pandas ×8
dataframe ×4
python-3.x ×2
string ×2
compare ×1
csv ×1
int ×1
memory ×1
numpy ×1
python-2.7 ×1
r ×1
scikit-learn ×1