我有以下数据帧:
P N ID Year Month
TS
2016-06-26 19:30:00 263.600006 5.4 5 2016 6
2016-06-26 20:00:00 404.700012 5.6 5 2016 6
2016-06-26 21:10:00 438.600006 6.0 5 2016 6
2016-06-26 21:20:00 218.600006 5.6 5 2016 6
2016-07-02 16:10:00 285.300049 15.1 5 2016 7
Run Code Online (Sandbox Code Playgroud)
我正在尝试根据列的值Year
和Month
类似以下内容添加一个新列
def exp_records(row):
return calendar.monthrange(row['Year'], row['Month'])[1]
df['exp_counts'] = df.apply(exp_records, axis=1)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
类型错误:('预期整数参数,得到浮点','发生在索引 2016-06-26 19:30:00')
但是reset_index()
,如果我是整数,那么上述.apply()
工作正常。这是预期的行为吗?
我在 Python 3.4 中使用 Pandas 0.19.1
重新创建 DataFrame 的代码:
s = '''
TS,P,N,ID,Year,Month
2016-06-26 19:30:00,263.600006,5.4,5,2016,6 …
Run Code Online (Sandbox Code Playgroud) 我希望可能有一些使用理解来做到这一点,但是说我的数据看起来像这样:
data = [['a', 'b', 'c'], [1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
我的最终目标是创建一个字典,其中第一个嵌套列表包含键,其余列表包含值:
{'a': [1, 4], 'b': [2, 5], 'c': [3, 6]}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了类似这样的东西让我接近,但是你可以告诉我在字典值中附加列表时遇到问题,这段代码只是覆盖:
d = {data[0][c]: [] + [col] for r, row in enumerate(data) for c, col in enumerate(row)}
>>> d
{'c': [6], 'a': [4], 'b': [5]}
Run Code Online (Sandbox Code Playgroud) 假设我有一个pandas数据框,并且想对所有数字(整数和浮点数)添加千位分隔符,那么有什么简便快捷的方法呢?
我有一个大数据集(appx 1GB,例如在字符串 '20000-30000' 中给出了一列薪水范围。我想删除连字符后的所有内容并转换为浮点数。但是这并不总是存在,所以我还需要在那里有一些条件来检查它是否在那里。
除了遍历整个列单独转换每个列之外,是否有一种快速的 Pandas 方法可以做到这一点?我觉得必须有,因为这似乎是一个常见问题,但是类似的问题并不能解决大型数据集的问题。
示例输入将是:
df = pd.DataFrame({'salary': ['200 - 300', '400', '400-500', '600', '-']})
df
Out:
salary
0 200 - 300
1 400
2 400-500
3 600
4 -
Run Code Online (Sandbox Code Playgroud)
对于这些值,首选输出是:
salary
0 200
1 400
2 400
3 600
4 0
Run Code Online (Sandbox Code Playgroud)
该0
真的可以是任何填充物的价值,我只是选择0
。
我有以下问题:
想象一下,我杀死了一条龙并且它掉落了战利品,我如何从战利品中更新我的库存?我想如果库存中不存在战利品但如果他们已经存在,如何追加,我不知道如何更新它.
以下是代码:
UserInventory = {'rope': 1, 'torch':6, 'gold coin':42, 'dagger': 1, 'arrow': 12}
def showstuff(storeno):
items_total = 0
for k, v in storeno.items():
print('Item :' + k + '---' + str(v))
items_total = items_total + v
print('Total Items:' + str(items_total))
'''def addstuff(inventory, additem):
I'm not sure what to do here
dragonloot = ['gold coin', 'gold coin', 'rope']
addstuff(UserInventory, dragonloot)'''
showstuff(UserInventory)
Run Code Online (Sandbox Code Playgroud) 我有一个包含8位整数的列表,其中每个整数代表一个标志.例如:
qc = [11221427, 23414732, 144443277,...]
Run Code Online (Sandbox Code Playgroud)
我想创建8个新变量,其中第一个变量是所有数字的第一个数字,依此类推.例如:
qc1 = [1,2,1]
qc2 = [1,3,4]
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码计算它:
qc_str = [str(e) for e in qc]
k,l = 0,0
for item in qc_str:
qc1[k] = int(qc_str[k][l])
qc2[k] = int(qc_str[k][l+1])
qc3[k] = int(qc_str[k][l+2])
qc4[k] = int(qc_str[k][l+3])
qc5[k] = int(qc_str[k][l+4])
qc6[k] = int(qc_str[k][l+5])
qc7[k] = int(qc_str[k][l+6])
qc8[k] = int(qc_str[k][l+7])
k += 1
Run Code Online (Sandbox Code Playgroud)
运行100,000行需要花费大量时间.是否有更好或更快的方式.任何想法将不胜感激.
在我的Python程序中,我有一个格式的字符串:
'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'
Run Code Online (Sandbox Code Playgroud)
我想将其转换为dict类型,这样我可以查询想dict["name"]
获得"Salman"
打印.
我有以下列表结构:
[
{'key1': 'value1',
'key2': [['mike', 'simmons', '54:17:47']],
'key3': 19390},
{'key1': 'value1',
'key2': [['snart', 'simmons', '60:12:47']],
'key3': 19390}
]
Run Code Online (Sandbox Code Playgroud)
我想通过key2键的第二个索引对此列表进行排序(我的意思是,通过那些60:12:47的数字)
我还没有找到一种标准的做法.
谢谢!
我正在尝试从嵌套列表创建一个 panda 数据框,其中包含下面的 ndarray :
from numpy import array
a = list([[1,2],[2,3]])
a[0] = array([[1,2]])
a[0][0] = array([1,2])
Run Code Online (Sandbox Code Playgroud)
我想要实现的目标如下:
D0 D1
1 2
2 3
Run Code Online (Sandbox Code Playgroud)
我试过只使用
pd.DataFrame(a)
Run Code Online (Sandbox Code Playgroud)
这创造了
D0
[1,2]
[2,3]
Run Code Online (Sandbox Code Playgroud)
我还尝试在 for 循环内使用 pd.append
for i in range(0, len(a)):
df = df.append(pd.DataFrame(a[i]))
Run Code Online (Sandbox Code Playgroud)
它实现了我想要的,但速度非常慢,并且 df.append 不知何故创建了重复项。
请帮忙。
提前谢谢。
除非 numpy 本身被编程为在将 Series 传递给它时返回一个 Series,否则会非常混乱。然而,关于这个函数的文档并没有提到当一个 Series 传递给它时它会返回一个 Series 。
了解我来自 Java 背景并且我是 Python 新手。
python ×10
pandas ×5
dictionary ×3
list ×3
python-3.x ×2
dataframe ×1
numpy ×1
separator ×1
sorting ×1
string ×1