Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果将%转换为浮点(除以100),我希望它是带%符号的字符串_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如果将%转换为浮点(除以100),我希望它是带%符号的字符串

Python 如果将%转换为浮点(除以100),我希望它是带%符号的字符串,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,这是代码,这是代码 我想做的是,我想把字符串列读为str,其他列读为pandas 这是我得到的输出 import pandas as pd df = pd.read_excel('Test.xlsx', dtype={'String Column': str}) print(df) 我想要的输出: Percentage Column String Column 0 0.05 0.02 1 45.00

这是代码,这是代码

我想做的是,我想把
字符串列
读为str,其他列读为pandas

这是我得到的输出

import pandas as pd

df = pd.read_excel('Test.xlsx', dtype={'String Column': str})

print(df)
我想要的输出:

   Percentage Column String Column
0               0.05          0.02
1              45.00          0.05
2              39.00            44
我在代码行中为此尝试了很多方法:

   Percentage Column String Column
0               0.05            2
1              45.00            5
2              39.00            44

为什么不在此处使用
pandas.apply()

df = pd.read_excel('Test.xlsx', converters={'String Column': str})
df = pd.read_excel('Test.xlsx', dtype={'String Column': object})
df = pd.read_excel('Test.xlsx', dtype=str)
data=[[1'、.02、.04]、[2'、.05,44]]
df=pd.DataFrame(数据,列=['col1','col2','col3']
def_自_浮动(x):

如果x我认为问题在于你的excel文件

熊猫中的数据类型正常

data=[['1',.02,.04],['2',.05,44]]
df = pd.DataFrame(data,columns=['col1','col2','col3'])
def _from_float(x):
  if x<1: return x*100
  else  : return x

df['col3'] = df['col3'].apply(_from_float).astype(int) ## or use str
结果

import pandas as pd

df = pd.read_excel('Test.xlsx', dtype={'String Column': str})

print(df.dtypes)
print()
print(df)
但是Excel文件默认情况下已将单元格配置为百分比

PD:Porcentaje=百分比

您可以在Excel中设置文本字符串
=“2%”
再次保存运行。
我只放了2%,但你可以放你想要的,
int
等等

Percentage Column    float64
String Column         object
dtype: object

   Percentage Column String Column
0               0.05          0.02
1              45.00          0.05
2              39.00            44

如果我的答案对您有帮助,请不要忘记批准或投票,否则请发表评论以改进答案。
Percentage Column    float64
String Column         object
dtype: object

   Percentage Column String Column
0               0.05            2%
1              45.00            5%
2              39.00            44